Coding agents

Let Claude Code, Codex or another coding agent on your computer answer a chat, with your own account and its own tools.

Who answers a chat

Under the message box, pick who answers: Asyncat's own agent with your model, Claude Code, Codex, or an agent that speaks the Agent Client Protocol (ACP). For Claude Code and Codex, pick their model there too.

The agent you pick answers in the chat like Asyncat does: its steps show in the chat, and follow-up messages continue the same session. In the sidebar and in All chats, a small mark shows who answered each chat; hover it to read “Answered by …”.

Temporary chats and Cats always use Asyncat's own agent.

Claude Code and Codex

Asyncat doesn't install these or sign in for you. Install them yourself and sign in with your own account; Asyncat finds them on your computer.

AgentUsesSign in from a terminal
Claude CodeYour Claude subscription or API key.claude auth login
CodexYour ChatGPT plan or API key.codex login

They work in the chat's project folder, or in a private scratch folder when the chat has none.

Plan, Action and approvals

The chat's mode carries over to the agent:

ModeClaude CodeCodex
PlanIts own plan mode: it reads and plans, and changes nothing.Read-only.
ActionEdits files in the folder, and asks through Asyncat's usual approval card before running commands or anything else its edits don't cover.Can write inside the folder, in Codex's own sandbox.
YoloRuns without asking.Runs without its sandbox.

An approval card from Claude Code works like any other: approve once, trust the tool for the run, always allow it, or deny.

Sessions you already have

Your existing Claude Code and Codex sessions, from the terminal or their own apps, are listed in the sidebar under the chat list. Open one and Asyncat copies it into a chat that continues the same session, so you carry on where you left off.

Sessions on this computer, on the Coding agents page, lists them all. Filter by agent, search them, and turn on Show automated and temporary runs to see those too.

ACP agents

Any coding agent that speaks the Agent Client Protocol can answer chats too. Add one under Customize → Agents → Coding agents: pick a known agent, or choose another and give the command that starts it in ACP mode.

Known agentCommand Asyncat startsInstall
Gemini CLIgemini --experimental-acpnpm install -g @google/gemini-cli, then run gemini once to sign in
Qwen Codeqwen --experimental-acpnpm install -g @qwen-code/qwen-code
Goosegoose acpSee the Goose documentation
  • Asyncat never installs them. A command that downloads first, such as npx, shows the size and waits for your OK.
  • Keys an agent needs go in its Environment variables, saved encrypted. It gets only the variables saved for it.
  • Its file access stays inside the chat's project folder. In Plan mode it may only read.
  • When it asks permission, you get the usual approval card, and its edits show as diffs on it.

Removing an ACP agent keeps the chats it answered, and the agent itself stays installed.

The Coding agents page

Customize → Agents → Coding agents shows, for Claude Code and Codex:

  • whether each is Not installed, Not signed in or Ready, with its version and account, the sign-in command to copy, and How to install when it's missing;
  • how much of your plan's usage limits you have used. Claude Code's shows after it answers in Asyncat; Codex's also counts use from the terminal or the Codex app;
  • New chat, to start a chat it answers.

The page also lists your ACP agents, each Ready, Needs a download or Not installed, with Check and New chat, and the sessions on this computer.

What they don't share

Coding agents are full agents with their own tools, so some of Asyncat's settings don't reach them:

  • Settings → Personalization: what Asyncat should know about you and how it should answer. Claude Code, Codex and ACP agents don't read these. See Personalization.
  • Asyncat's command sandbox and its list of sites agents never open. They run their own commands and use their own web tools. See Privacy & safety.
  • Your saved keys. Asyncat passes on none of them, except the ones an agent signs in with: an OpenAI key saved in Asyncat reaches Codex, for example.