Skip to main content
Run pool to open an interactive session. The agent can read your code, run commands, and write files. It asks for approval before taking action unless you switch to Allow all mode. For one-shot tasks and scripts, use Automated mode instead. Your login choice, such as standalone Poolside or a Poolside deployment, determines which service pool connects to, not which CLI mode you use. If you run pool in your terminal, you are using interactive mode.
This documentation describes Poolside Agent CLI v1.0.6. Check your version with pool --version. To update, exit any active session and run pool update from your terminal. See pool CLI releases on GitHub for release history.

Start a session

Open a session in your current directory:
pool
Open a session in a specific directory:
pool -C <project-path>
Run a session in a Git worktree for a branch, creating the worktree and branch if needed:
pool --worktree <branch-name>
Use --worktree without a branch name to let pool generate a worktree name:
pool --worktree
Require a configured sandbox for the Poolside agent server:
pool --sandbox required
Use --sandbox disabled only when you want to run without a configured sandbox. Open the session picker to resume a previous session from the current directory:
pool -r
Open the agent server picker to choose a configured ACP-compatible agent server for the session:
pool -s
Resume a specific session by ID (a session ID is provided when you exit a session):
pool --resume <session-id>
By default, pool uses the credentials saved by pool login. To authenticate one invocation with an API key, set POOLSIDE_API_KEY before the command:
POOLSIDE_API_KEY=<api-key> pool
To override the saved API URL for one invocation, set POOLSIDE_API_URL before pool. If an MCP server needs input from environment variables, start pool with those variables set:
KEY=VALUE pool

Write prompts

Type your prompt in the input area at the bottom and press Enter to send. To find the newline shortcut for your terminal, press ? with an empty input field. Common shortcuts are:
  • macOS and Linux: Shift+Enter when your terminal supports key disambiguation, or Alt+Enter as a fallback
  • Windows: Shift+Enter when supported by your terminal, or Ctrl+Enter as a fallback. Use Alt+Enter when connected over SSH.
Use the up and down arrow keys to browse prompt history for the current directory. Type ! to enter shell mode and run a command directly from the prompt input box. You can select text in the conversation output using your terminal’s selection controls.

Add context

Type @ in the prompt to mention a file or directory. pool opens a picker so you can choose what to include. To add an image from your clipboard, paste it into the prompt input box with Ctrl+V.

Answer agent questions

If the agent needs clarification while it is working, it can open a question dialog instead of guessing. To trigger this flow, tell the agent to ask when needed, for example Ask me a question if anything is ambiguous. You can select one of the provided options or choose Type your own answer to enter a custom response. Press Esc to decline.

Notifications

pool can send notifications when a turn ends, when an approval prompt needs your response, or when the agent asks a question. Notifications appear only when the pool session is not focused. When you run pool in cmux, pool can also show notifications and status icons.

Status line

The status line shows session details such as the current mode, Git branch, working directory, and model when that information is available. Click the mode or model to open the corresponding selector. Click the current directory to open it in your configured editor.

Approve tool actions

When the agent wants to run a command or write a file, it asks for approval:
  • Allow once: Approve only that action
  • Always allow: …: Save an approval rule for similar actions for the rest of the session
  • Accept edits for this session: For file write approvals, switch to Accept edits mode for the rest of the session
  • Reject: Decline and let the agent work around it if possible
To approve all actions automatically, start the session with --mode always-allow, or switch to Allow all mode with /mode. For persistent approval rules, path rules, and settings.yaml locations, see Tool permissions.

Modes

When you use the Poolside agent server, these modes are available:
ModeIDWhat it does
Always askdefaultPrompts for approval on first use of each tool type
Accept editsaccept-editsAuto-approves workspace file reads and writes, then prompts for everything else
Allow allalways-allowApproves tool actions automatically
PlanplanPlans changes without modifying your codebase
Press Shift+Tab to cycle through modes, or use /mode to open the mode selector.

Use plan mode

Use plan mode when you want to review an implementation approach before the agent changes your code. It is useful for complex refactors, broad changes that span multiple files, or work where early decisions are hard to undo. In plan mode, the agent can read and explore your codebase, ask clarifying questions, and write an implementation plan for you to review. Plan mode does not modify source files. To enter plan mode, type /plan, type /mode plan, or press Shift+Tab to cycle to plan mode. To leave plan mode, switch back to build mode with /mode default or Shift+Tab. When you switch from build mode into plan mode, pool remembers the approval mode you were using. When you switch back to build mode, pool restores that approval mode. When the plan is ready, approve the prompt to switch to build mode, or decline it to keep reviewing or discussing the plan. Declining keeps the agent in plan mode and does not cancel the task. pool saves each plan as a Markdown file. Outside a sandbox, pool stores the plan in your local Poolside state directory. In a sandbox, it stores the plan at .poolside/plans/ in your current workspace. The saved path is clickable in the terminal so you can open the plan in your editor.

Keyboard shortcuts

CLI shortcuts use the key names shown by your terminal. On macOS, use Ctrl for CLI shortcuts such as Ctrl+M, Ctrl+C, and Ctrl+V. Command shortcuts are handled by your terminal application, not by pool.
KeyWhat it does
EnterSend the prompt
Shift+Enter, Alt+Enter, or Ctrl+EnterInsert a new line, depending on your operating system and terminal
Up / DownBrowse prompt history when the cursor is at the start or end of the prompt
/Show available slash commands
?Show all keyboard shortcuts when the input field is empty
Shift+TabCycle through modes
Ctrl+M or Alt+MOpen the agent selector
EscInterrupt the agent while it is running
Esc, then EscRewind to the previous turn when idle
Ctrl+C, then Ctrl+CExit when idle. The first press clears the input field.
Ctrl+D, then Ctrl+DExit when idle with an empty input field
Ctrl+TToggle tool grouping in the conversation
Ctrl+GOpen the current prompt in your configured editor
Ctrl+VPaste clipboard text or attach a clipboard image
Page Up / Page DownScroll the conversation
Press ? with an empty input field to see the shortcut list for your terminal.

Picker and menu shortcuts

WhereKeyWhat it does
Slash command menuUp / DownMove through commands
Slash command menuTabComplete the selected command or run a command that opens immediately
Slash command menuEnterComplete the selected command, or send the prompt if no command is selected
Slash command menuEscClose the command menu
File pickerUp / DownMove through files and directories
File pickerTab or EnterAdd the selected file or directory mention
File pickerEscClose the file picker
Session pickerType textFilter sessions
Session pickerUp / Down or Ctrl+P / Ctrl+NMove through sessions
Session pickerEnterResume the selected session
Session pickerTabSwitch between current-directory sessions and sessions from all directories
Session pickerEscStart a new session
Session pickerCtrl+CCancel and exit the picker

Slash commands

Type / to open the command menu, or type a command directly. The commands you see can include terminal UI commands and commands from the connected agent server. Non-Poolside ACP servers can expose a different set of server-provided slash commands. These commands are built into the pool interface:
CommandWhat it does
/modelOpen the agent selector for the current session
/modeOpen the mode selector
/new or /clearClear conversation history and start a new session
/copyCopy the last agent response to the clipboard
/rewindRoll back to a previous turn
/renameRename the current session
/moveMove the session to another Git worktree, or create one. If the current worktree has uncommitted changes, choose whether to move those files too.
/feedbackOpen a feedback draft and optionally attach logs
/quit or /exitExit the session
/debug:dumpWrite the raw agent-server message log to a local JSON file
When you use the Poolside agent server, these additional commands are available:
CommandWhat it does
/planSwitch to plan mode
/compact [<guidance>]Compact conversation context. Add guidance after the command to tell the agent what to preserve, such as /compact preserve tool call errors.
/shareGet a link to the trajectory viewer for the current session
/mcpShow MCP servers, connection status, and tools for the current session
/sandboxShow local sandbox configuration
/sandbox-apply-to-hostReview pending sandbox filesystem changes and apply them to the host workspace when available
/skillsRefresh and list available skills
/usageShow token usage, context window state, and session cost when available
You can also ask pool about its own commands, capabilities, and current behavior. The Poolside agent server uses a built-in introspection skill to answer questions about itself.

Change the agent

Press Ctrl+M or Alt+M, or use /model to change the agent for the current session or set a new default. The command is named /model because Agent Client Protocol refers to agents, as defined in Poolside, as models. To start a session with a specific model:
pool --model poolside/laguna-m.1

Rewind a turn

Press Esc, then Esc while idle, or use /rewind to roll back the last turn. Rewind removes that exchange from the conversation history so the agent does not see it on the next prompt.

Sessions

pool saves sessions automatically. When you exit, pool prints the --resume command for that session so you can continue it later. Use /rename to rename the current session. The session picker opened by pool -r or pool --resume shows renamed sessions from the current directory by default. Press Tab in the picker to switch between current-directory sessions and sessions from all directories.

MCP servers

Use /mcp to see MCP servers, connection status, and tools for the current session.

View the trajectory

When you use the Poolside agent server, use /share during a session to get a link to the web-based trajectory viewer. After a session, browse trajectory files locally:
pool history trajectories --latest

Send feedback

Use /feedback to open a feedback draft for the current session. You can choose whether to attach logs. To attach an earlier session, resume it first with pool -r, then run /feedback.

Use other agent servers

By default, pool connects to the Poolside agent server. You can also connect it to any other Agent Client Protocol (ACP)-compatible agent server using --agent-server:
# Claude Agent
pool --agent-server claude-agent-acp

# Codex
pool --agent-server codex-acp

# Gemini
pool --agent-server "gemini --acp"
To choose from configured agent servers interactively, run pool -s. pool reads agent server configuration from ~/.config/poolside/pool.json by default. If your environment uses a custom configuration directory, pool reads pool.json from the equivalent location there. To set a non-Poolside server as the default:
{
  "agent_servers": {
    "default": {
      "command": "claude-agent-acp"
    }
  }
}