The Kloudlite harness
Open a session in the Kloudlite harness and direct an agent that works in it.
Last updated
On this page
- Description and operation
- General
- Screen
- Keys
- Tasks
- Open a session
- Sign in and choose a model
- Send a prompt and follow the work
- Stop a running turn
- Answer a permission or question card
- Switch workspace and view
- Read the files, the changes and the processes of a workspace
- Change a setting
- Continue or start a conversation
- Quit the harness
- Troubleshooting
Description and operation
General
The Kloudlite harness is the program kl-tui. kloudlite opens a session in it, and you direct an agent that works in the session. The agent has the agent tools of the session and your rights. kl-tui is installed next to kloudlite.
kloudlite opens the session in this order: --session, the session that you selected with kloudlite sessions use, your only session. With more than one session and none selected, it asks you to choose. With no session, it creates main with no environment.
| Command | Result |
|---|---|
kloudlite | Opens your session. |
kloudlite acme | Opens the session of the team acme. |
kloudlite --session dev | Opens the session dev. |
kloudlite --session dev --start | Starts the session and its stopped workspaces, then opens it. |
While the harness is open and a turn, a tool call or a client is in use, it sends a hold every 60 seconds. The session then does not go idle. After 30 minutes without use, the session goes idle and its workspaces stop. See Sessions.
The harness has no tool to change the session. It has session_current, session_connect and session_disconnect for the environment of its own session. session_use and session_pick are tools of kloudlite mcp.
Type these commands in the prompt of the harness.
| Command | Result |
|---|---|
/help | Shows the keyboard shortcuts and the commands. |
/tools | Lists the registered tools. |
/model | Sets the model of the conversation and saves it as the default. |
/login | Logs in to a model provider. |
/session | Names, describes or continues a conversation of the harness. |
/compact | Compacts the context. Text after it says what to keep. |
/clear | Clears the transcript. |
/btw | Asks a side question. The answer is not saved. |
/files | Shows the files and the diffs of the selected workspace. |
/theme, /settings | Change the theme and the settings. |
/exit | Quits. |
Screen
The chat fills the left column. A title bar names the conversation: Working Session for the session itself, or the name of a workspace. The transcript is below it and the prompt is under the transcript. The prompt card names the conversation that receives your text and the model that answers. The bottom row shows the environment name, the size of the context, for example 84k ctx, and the keys that work now.
The sidebar is on the right when the terminal is wider than 120 columns. Its Workspaces list shows the workspaces of the session. A row says working while the agent of that workspace works, and needs you while a card waits for you. The Environment block shows the connected environment and its services. On a narrower terminal, /settings sidebar show opens the sidebar over the chat.
The harness has five views. Click a hint in the bottom row to open a view, or use its key.
| View | Shows | Key with vim off | Key with vim on |
|---|---|---|---|
| Chat | The transcript and the prompt. | esc in any other view | esc in any other view |
| Files | The changes and the files of the selected workspace. | ^f or /files | f or /files |
| Jobs | The processes of the selected workspace, or of all workspaces in the session. | ^j | ^j |
| Plan | The task boards of the session. | ^g | ^g |
| Done | The tasks that are finished. | ^q | ^q |
Files shows a workspace only. In the session itself, the harness says enter a workspace first — f opens its files.
Keys
The setting vim chooses the key scheme. The default is off: the prompt always takes your typing, and commands use ctrl with a letter. With vim on, the keyboard has two modes. In NORMAL mode a letter is a command, and i starts INSERT mode, where you type. esc in INSERT mode clears the draft and returns to NORMAL mode.
| Action | vim off (default) | vim on, NORMAL mode |
|---|---|---|
| Send the prompt | enter | i, type, then enter |
| New line in the prompt | shift+enter, or \ then enter | the same, in INSERT mode |
| Recall an earlier prompt | up, down | the same, in INSERT mode |
| Open the command list | / at the start of an empty prompt | / |
| Jump to a workspace | ^p, then type a name | p, then type a name |
| Go to the previous workspace | ^k | k |
| Go to the next workspace | ^p and select it | j or tab |
| Go to the session itself | ^b | 0 or b |
| Go to workspace N | not available | 1 to 9 |
| Stop the turn | esc on an empty prompt | esc |
| Cut in with a prompt during a turn | ^s | ^s |
| Change the permission mode | shift+tab | shift+tab |
| Scroll the chat | pageup, pagedown, wheel | u, d, pageup, pagedown, wheel |
| Go to the end of the chat | end | G or end |
| Show the help | /help | ? |
| Quit | ^c or /exit | ^c or /exit |
The mouse works on every row that you can select. You can click a sidebar row, a hint, the title bar, a card option or a row of the Files view. Click a collapsed block of the transcript to open it. A block that is longer than 10 rows shows Click to expand.
The permission mode is default, acceptEdits, plan or bypass. The bottom row names it when it is not default. The mode returns to default each time the harness starts.
A conversation of the harness is not a Kloudlite session. When the agent changes something that you did not ask for in this turn, the harness shows a permission card with the reason.
Tasks
Open a session
Reason for the task: Direct an agent in a session.
Job set-up
- Access: you. For a team session, a team member whose access is not paused.
- Agent tool: none; an agent uses the SDK.
- Conditions:
kl-tuiis installed next tokloudlite, and a session exists. See Create a session. - References:
kloudlite, Sessions API.
Procedure
Run
kloudlitewith the session. Put a team name first for a team session.kloudlite acme --session devAdd
--startif the session is stopped.
Close-out
- Make sure that the session opens. The first open can take up to 90 seconds.
Sign in and choose a model
Reason for the task: Connect a model provider so that the agent can answer.
Job set-up
- Access: you.
- Agent tool: none; an agent uses the SDK.
- Conditions: the harness is open. The harness does not offer the provider
anthropic. To use Claude, see Claude Code plugin. - References: none.
Procedure
Type
/loginand send it withenter. Each row names a provider and a method,oauthorapi key.Select a row and send it with
enter. To skip the list, type the provider and the method./login deepseek api_keyOpen the URL that the harness prints, and enter the code if it shows one. For
api key, paste the key at the›prompt, where the harness masks it.Wait until the login screen closes. Use
escto cancel it.Type
/model, select a model, and send it withenter. The list shows only the models of providers that you connected.
Close-out
- Make sure that the prompt card names the model.
The harness saves credentials in auth.json and the model in settings.json. Both are in ~/.config/kloudlite on the session's host, not on your computer. KLOUDLITE_CONFIG_DIR there sets another folder. A provider also reads its usual environment variable. With no saved model, the harness uses deepseek/deepseek-v4-flash when its list has it.
Send a prompt and follow the work
Reason for the task: Give the agent a task and watch it work.
Job set-up
- Access: you.
- Agent tool: none; an agent uses the SDK.
- Conditions: a model is connected. See Sign in and choose a model.
- References: Agent tools.
Procedure
Type the task in the prompt and send it with
enter. Withvimon, typeifirst.Run the tests in ~/workspace and fix the first failure.Read the transcript. It shows the answer, the reasoning, and one row for each tool call with its state.
Read the row above the prompt. It names the tool that runs now, or
thinking…orworking….Use
pagedownor the wheel to scroll, andendto return to the end. Click a collapsed block to read all of it.Type the next prompt during the turn and send it with
enter. The harness queues it or cuts in, and^scuts in at once.
Close-out
- Make sure that
esc interrupthas left the bottom row. The turn is over.
A queued prompt shows as N queued in the bottom row. Type up on an empty prompt to edit the queue. In the queue, up and down select a prompt, enter returns it to the prompt, d drops it and esc leaves the queue.
Stop a running turn
Reason for the task: End a turn that goes the wrong way.
Job set-up
- Access: you.
- Agent tool: none; an agent uses the SDK.
- Conditions: a turn runs.
- References: none.
Procedure
- Use
esc. Withvimoff and text in the prompt, the firstescclears the text, so use it again.
Close-out
- Make sure that the transcript shows
interrupted.
Answer a permission or question card
Reason for the task: Let the agent continue after it asks you.
Job set-up
- Access: you.
- Agent tool: none; an agent uses the SDK.
- Conditions: a card replaces the prompt.
- References: none.
Procedure
Read the card. A
Permission requiredcard names a tool, for exampleworkspace_delete, and gives the reason.Select an answer with
leftandright, or withtabandshift+tab. A list of answers usesupanddown.Send the answer with
enter. A permission card offersAllow once,Allow alwaysandReject.
Close-out
- Make sure that the card has gone and the agent continues.
A list of answers is filtered by typing. You can also click an answer. A question card shows the question and the answers.
A permission card appears only for a tool that deletes something, and only when your words in this turn do not name the target. esc rejects a permission card. On a question card, esc selects the last answer. Allow always holds for that tool in that conversation until you quit the harness. A card shows only in its own conversation, and the sidebar marks the workspace needs you.
Switch workspace and view
Reason for the task: Talk to the agent of another workspace, or look at its files.
Job set-up
- Access: you. You can enter only your own workspaces.
- Agent tool: none; an agent uses the SDK.
- Conditions: the session has a workspace.
- References: Sessions.
Procedure
Select a workspace with a click on its row in the sidebar. The key
^plists the workspaces and the session itself.Open a view with
^f,^j,^gor^q. Withvimon,fopens the files.Use
escto return to the chat.
Close-out
- Make sure that the title bar and the prompt card name the conversation that you chose.
A click on a hint in the bottom row opens the same view. A turn goes on in its own conversation while you look at another one.
Read the files, the changes and the processes of a workspace
Reason for the task: See what the agent changed and what runs in the workspace.
Job set-up
- Access: you.
- Agent tool: none; an agent uses the SDK.
- Conditions: you selected a workspace that runs.
- References: Tool server.
Procedure
Open the Files view with
^f, or withfwhenvimis on. The left list has the CHANGES againstHEADabove the FILES tree.Select a row with
jandk. Open it withlorenter, and usetabto move between the list and the reader.Use
vin the reader to flip a changed file between its diff and its whole text. Usenandshift+nto go to the next and the previous change.Type
/and a text to filter the paths. Userto read the files again andescto leave.Open the Jobs view with
^j. Select a process withjandk, and open its log withlorenter.Type
/in the Jobs view to filter by name or command. Useescto leave.
Close-out
- Make sure that the header shows
updatedafter the agent edits a file.
The log of a process follows its end. After you scroll up, G or F follows it again. A process that ended keeps its log in the list for 10 minutes. The key s does not search a workspace, and the harness says search is not available for workspaces.
Change a setting
Reason for the task: Change how the harness looks, types or thinks.
Job set-up
- Access: you.
- Agent tool: none; an agent uses the SDK.
- References: none.
Procedure
Type
/settingsand send it withenter. Each row is a setting, and the hint shows its value.Select a setting and a value. To skip the lists, type both.
/settings vim onType
/themeand selecttokyonight,kloudlite-dark,opencodeorkloudlite-light.
Close-out
- Make sure that the list shows the new value as
current.
| Setting | Values | Default |
|---|---|---|
sidebar | show, hide | show |
thinking | show, hide (the reasoning in the transcript) | show |
thinkingLevel | off, minimal, low, medium, high, xhigh, max | medium |
autoCompact | on, off | on |
codemode | on, off (the model writes a script that calls tools) | on |
width | wider, narrower, reset (4 columns a step, 28 to 64) | 42 columns |
vim | on, off | off |
The default theme is kloudlite-dark. thinkingLevel, autoCompact and codemode apply to every open conversation at once. The harness saves each setting in settings.json.
Continue or start a conversation
Reason for the task: Return to earlier work, or begin again with an empty transcript.
Job set-up
- Access: you.
- Agent tool: none; an agent uses the SDK.
- References: none.
Procedure
Type
/sessionand select a conversation to continue it. You can type/session use ID.Type
/session name TEXTto name the conversation. Type/session desc TEXTto add a line under the title.Type
/clearto start again. The harness archives the transcript, deletes nothing, and shows an empty chat.
Close-out
- Make sure that the transcript shows the conversation that you chose.
The list of /session shows the conversations of the place you are in, with their age. There is no /session new. When the harness opens, it continues the last conversation of a place. /compact keeps the conversation and shortens the context. Text after /compact says what to keep.
Quit the harness
Reason for the task: Close the harness and leave the session running.
Job set-up
- Access: you.
- Agent tool: none; an agent uses the SDK.
- References: none.
Procedure
- Type
/exitand send it withenter. You can use^c.
Close-out
- Make sure that your shell prompt returns.
A running turn goes on in the session. The next kloudlite opens the session and finds it busy.
Troubleshooting
| Symptom | Possible cause | Corrective action |
|---|---|---|
kl-tui is not found | kl-tui is not installed next to kloudlite. | Install kloudlite again. |
403 with your access to acme is paused | A team admin paused your access. | Ask a team admin to unpause it. |
| The workspaces of the session are stopped | The session went idle. | Open the session with --start. |
409 with a limit name, for example workspaces: 5 of 5 in use; request more under Quota | The owner has no quota left. | See Quota and requests. |
The transcript says No AI provider connected yet — run /login to connect one. | No provider has a credential. | Sign in. |
/model lists logins, not models | No provider is connected. | Sign in. |
unknown model deepseek/old-model | The saved model is not in the list of the provider. | Type /model and select another model. |
| An error row follows each prompt | The provider refused the credential. | Type /login for the provider again. |
a turn is running; /compact after it ends | /compact needs an idle conversation. | Wait for the turn, or press esc. |
kl-tui: lost the session connection | The session stopped or went idle. | Open the session with --start. |
kl-tui and the session speak different protocols: update kloudlite and kl-tui | The two programs have different releases. | Install kloudlite again. |
The user rejected this tool call. | You selected Reject, or pressed esc on the card. | Ask the agent again and select Allow once. |
Plan mode: workspace_delete is not available. | The permission mode is plan. | Press shift+tab until the bottom row shows no mode. |
platform tools unavailable: KL_API_URL / KL_TOOL_KEY_FILE not set | The session has no access to the API. | Open the session again. |
ws1 is stopped; start it with `workspace_start` | The workspace is stopped. | Ask the agent to start it. |
ws1 did not become ready: REASON | The workspace did not start in 180 seconds. | Read the reason, then see Quota and requests or ask the agent to start it again. |
workspace not reachable: REASON | The Files view cannot read the workspace. | Make sure that the workspace runs. |
search is not available for workspaces | The key s does not search a workspace. | Ask the agent to search, or press / to filter paths. |