Skip to main content
CloudThinker Agent is a coding agent that runs in your terminal. It edits files and runs commands on your machine, and it reaches your cloud only through your workspace connections, so no cloud credential ever lands on your laptop.
The agent runs on macOS and Linux (x86_64 and arm64). There is no native Windows build. It needs a paid plan: Team, Scale, Scale Plus, or Enterprise. On a Free workspace, starting a session is refused with an upgrade prompt. See Pricing.

Prerequisites

  • The CloudThinker CLI installed and logged in. See CLI and CLI authentication.
  • At least one connection in the workspace if you want the agent to touch your cloud, for example AWS or Kubernetes. Local work needs none.

Start a session

1

Open your repository and run the agent

A bare cloudthinker and cloudthinker agent do the same thing. If you are not logged in yet, the agent starts the browser login for you. Other commands don’t: they exit with code 3 and tell you to run cloudthinker login.On first run the CLI downloads the agent build for your platform, checks it against the release’s SHA-256 checksum, and installs it under ~/.cloudthinker/agent/bin/<version>/. Later runs reuse it. If this step fails, you see agent install failed: with the cause and exit code 1. Behind a proxy, set HTTPS_PROXY, and SSL_CERT_FILE if the proxy re-signs HTTPS. See Environment variables.
2

Check the startup screen

The header names the workspace, your user, the session link, and the workspace Approval mode as · Auto or · Manual. Below it, two lines show where work runs:
  • [L] this machine <folder> with the local tools
  • [C] sandbox workspace <name> - <N> connections with the cloud tools, which run on the workspace machine (the startup line calls it the sandbox workspace; see Where work runs)
Success state: the prompt is ready and the footer shows the workspace, the Approval mode, ◆ 0.00 credits, and your connections.
3

Give it a task

Type what you want in plain language. New to the agent? Run /skill:tour for a guided first session that explains local and cloud work, your connections, and approvals.A cloud investigation. Expect [C] read lines, then [L] lines as it reads your repository:
A local edit. Expect [L] read and edit lines, and no cloud write:
To end the session, type /quit (or /exit). Work already running in the cloud continues.

Where work runs

Every tool call line starts with [L] or [C], so you always know which machine did the work. The workspace machine (shown as sandbox workspace at startup, and the reason the cloud tools are named ct_sandbox_*) is a CloudThinker-hosted machine that your whole workspace shares. It isn’t a scratch shell: it keeps the workspace’s memory, skills, and files earlier runs left behind. Each session gets its own folder there, but the machine is shared, so treat any file a run writes there as visible to your teammates’ runs. Each connection’s CLI is installed there and authenticated with that connection’s credential. See Data protection for how workspace data is stored. The agent gets the workspace’s connection list, the same one chat uses, refreshed before every turn. Credentials are never part of it. A connection you add in the browser is available on your next prompt.
[L] tools don’t go through Approvals. Local bash runs with whatever your shell already has, such as AWS_PROFILE or a kubeconfig. For a read-only session, start the agent with cloudthinker agent --tools read,grep,find,ls, or turn off tools with --exclude-tools bash,write,edit.
To keep a session fully local, run /cloud off. That hides the cloud tools and delegation; work already running in the cloud continues. /cloud on turns them back on.

What the agent can do in the cloud

A ct_ask result line reads CloudThinker Agent answered, waiting for approval in browser → <link>, or failed. It opens one CloudThinker conversation per session and reuses it. The agent sets each read or write command’s timeout itself: 60 seconds by default, at most 120. A longer command runs in the background, and the agent checks its output later. (CLOUDTHINKER_AUTO_BACKGROUND_SECONDS in the reference is a separate setting for local bash commands.) The cloud tools can use any connection in the workspace, and one command can use several. When you have more than one of a kind, type # to pick one: it inserts #connection/<prefix>/<alias> into your prompt.

Approve a cloud write

A cloud write is a request your workspace decides, not something the agent runs on its own. The Approval mode is what decides it today. Rule enforcement is off by default, so your approval Rules decide first only once CloudThinker turns it on for your workspace. Commands on your own machine never go through Approvals. The result line of a write opens with the verdict: When a write needs approval, the terminal shows Cloud write needs your approval with the reason, the connection, the command, and a browser link. Pick one: Escape also declines. A teammate who is an approver sees the same card when they open the session in the browser. A pending write keeps the exact connections it was requested with. Adding a connection later does not widen it, and removing access blocks it. An unanswered write expires after one hour. It gets no result line of its own: deciding it after that fails with Cloud write is expired, so it cannot be decided, so ask the agent for it again.
If a write reports an unknown outcome, check its effects in your cloud before asking for it again. The agent never replays a write on its own.

Who can do what

Roles are explained in Roles.

Trust a command

Trusting adds an Allow entry to the workspace’s default policy. For aws, gcloud, az, and kubectl, the entry covers the whole subcommand, not only the arguments you approved: The entry covers the whole workspace, not only your session: after that, any teammate’s Agent CLI session can run a command the entry matches under Auto with no pause. Trust only commands you’d be comfortable seeing run unattended, with any arguments.

Ask an approver when you can’t approve

The agent sends no approval notification by itself, because the card is already in front of you. If you are not an approver, run /cloudthinker:notify to send the request once to the workspace approvers on the channels they set up in Notifications. Each run sends again.

Change the Approval mode from the terminal

The session uses the workspace Approval mode. There is no per-session override and no flag to skip approval from a laptop.
/cloudthinker:auto on and off change the mode for the whole workspace, so every teammate’s chat and session that uses the workspace mode follows the new one. Only a workspace Admin can switch, and each switch is recorded in the audit log.
For the other Auto choices, open Approvals → Approval mode in the browser. Each one is explained in Approval mode.

Commands inside the agent

Type / to see every command. The CloudThinker ones: Type @ to mention a custom agent, a connection, or a file in the repository. # opens the connection list alone. The agent reads project instructions from AGENTS.md or CLAUDE.md in your repository.

Run the agent without the screen

agent -p asks the local agent about this folder, prints the answer, and exits. Use it in scripts that need your local files. To ask CloudThinker in the cloud instead, use headless chat.
Cloud tools stay on under -p. A cloud write that needs approval can’t show the terminal card, so the agent prints waiting for approval in the browser → <link> on stderr and waits up to 10 minutes for someone to decide there. For an unattended run, keep it local with --tools read,grep,find,ls, or ask CloudThinker through headless chat, whose exit codes a CI job can branch on. Every flag is in the CLI reference.

What leaves your machine

Anything the agent reads goes to the model and into the mirror, including secrets: a .env file, a kubeconfig, or the output of a command that prints keys. Every workspace member, Viewers included, can read the mirror, and only the person who started the session can delete it — not even an Admin. Keep secrets out of reach: start with --exclude-tools bash, and don’t ask the agent to read credential files.
For how CloudThinker stores and protects workspace data, see Data protection.

Session history and credits

Every session appears in the workspace as an Agent CLI conversation, the browser copy of the session called the mirror. Run /open to go straight to it. In the browser it is a read-only view of the repository, branch, tool calls, and linked CloudThinker conversation. Mirror entries are append-only: nobody can edit them, and only the person who started the session can delete the conversation — not even an Admin. A local copy stays on your machine under ~/.cloudthinker/agent/sessions/, one folder per project. cloudthinker agent -c continues the most recent session in this folder, and -r lets you pick one. The footer shows credits charged to this session, for example ◆ 1.75 credits. See Usage.

Troubleshooting

You are not an approver. Run /cloudthinker:notify, or send the browser link from the card to an approver.
Only a workspace Admin, or the workspace owner, can trust a command (the message calls them settings editors). Nothing ran. Decide again and pick Approve and run instead.
Run /cloud. If Cloud is off, run /cloud on. If it lists no connections, add one under Connections, then send your next prompt.
The first-run download or its SHA-256 check failed. The message names the cause. Behind a corporate proxy, set HTTPS_PROXY, plus SSL_CERT_FILE if the proxy re-signs HTTPS, and run cloudthinker again. See Environment variables.
The agent couldn’t load a mode from your workspace. Run /cloud retry, then press ↑ to send the message again. cloudthinker agent --list-models shows which modes your workspace offers.

Next steps

Headless chat

Send one prompt to CloudThinker from a script or CI job

Approval mode

Choose how cloud writes are decided for the workspace

CLI reference

Every command, flag, variable, and exit code

Connections

Add the cloud accounts and tools the agent can use