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 Always Allow mode. For one-shot tasks and scripts, use Automated mode instead.

Start a session

Open a session in your current directory:
pool
Open a session in a specific directory:
pool -C /path/to/project
Open the session picker to resume a previous session:
pool -r
Resume a specific session by ID (a session ID is provided when you exit a session):
pool --resume <session-id>
For MCP server input variables, start pool with matching shell environment variables:
KEY=VALUE pool

Write prompts

Type your prompt in the input area at the bottom and press Enter to send. For multi-line prompts, press Shift+Enter or Alt+Enter to add a line without sending. Use the up and down arrow keys to browse prompt history for the current directory.

Add context with @mentions

Type @ in the prompt to mention a file or directory. pool opens a picker so you can choose what to include.

Answer agent questions

If the agent needs clarification while it is working, it can open a question form in the bottom pane 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.

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: Approve all actions of that type for the rest of the session
  • Deny: Decline and let the agent work around it if possible
To approve all actions automatically, start the session with --unsafe-auto-allow, or switch to Always Allow mode with /mode always-allow.

Modes

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
Always Allowalways-allowApproves tool actions automatically
PlanplanPlans changes without modifying your codebase
Press Shift+Tab to cycle through modes, or use /mode <id> to switch directly.

Keyboard shortcuts

KeyWhat it does
Shift+TabCycle through modes
Ctrl+MOpen the agent selector
EscInterrupt the agent while it is running
Esc+EscRewind to the previous turn when idle
Ctrl+CClear the input field when idle
Ctrl+D+DExit when idle with empty input
Ctrl+GToggle tool grouping in the conversation
Page Up / Page DownScroll the conversation

Slash commands

Type / to open the command menu, or type a command directly.
CommandWhat it does
/modelOpen the agent selector for the current session
/modeList available modes
/mode <name>Switch to a mode, e.g. /mode always-allow
/planSwitch to plan mode
/clearClear conversation history and free context window space
/rewindRoll back to a previous turn
/shareGet a link to the trajectory viewer for the current session
/skillsRefresh and list available skills
/usageShow token usage and context window state
/debug:dumpWrite the raw agent-server message log to a local JSON file
/debug:clear-local-sessionsDelete all locally stored session history

Change the agent

Press Ctrl+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 -m laguna_m_preview

Rewind a turn

Press Esc+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. If a session ends unexpectedly, pool attempts to recover when you start a new one.

View the trajectory

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

Use other agent servers

By default pool connects to Poolside’s built-in agent. You can also connect it to any other Agent Client Protocol (ACP)-compatible agent server using --agent-server:
pool --agent-server claude-agent-acp
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"
    }
  }
}
When you use Poolside’s built-in agent server, pass server flags after --:
pool -- --reasoning high