Coding agents on your computer
If you have a coding agent such as Codex or Cursor installed on your computer, you can hand coding work to it from a chat. Say "Have Codex add email sign-in to the login page in ~/code/site, then run the tests", and Waper starts Codex on your computer, in the folder you named. You see how far it has got right in the chat, and when it's done your agent tells you the result: which files changed and whether the tests passed.
It runs with the account or API key you signed in with on that computer, so its model costs don't use Waper credits.
Which ones work
| Coding agent |
How to sign in |
| Codex |
Run codex login in a terminal; or give Waper its own API key for Codex: choose "API Key for Codex…" in the desktop app's menu, or on a server run waper-node agents codex-key |
| Cursor CLI |
Run agent login in a terminal |
| GitHub Copilot CLI |
Run copilot login in a terminal |
| OpenCode |
Works without signing in using its free models; to use your own account, run opencode auth login in a terminal |
| Gemini CLI |
API key only: set GEMINI_API_KEY in your shell profile, then choose to sign in with an API key in Gemini CLI |
Claude Code isn't supported yet.
You always sign in on your own computer, the way each tool does it; Waper never signs in for you. A Codex API key stays on your computer and never passes through Waper's servers.
Waper talks to them over the Agent Client Protocol (ACP): it starts them, hands over the task, follows their progress, passes on the permissions they ask for, and stops them.
What you need
- The Waper desktop app open on that computer, or
waper-node running there, and the computer online.
- The folder (code repository) to work in, said in your message, say "use Codex in ~/code/app to fix this bug". If you don't say, your agent asks you first.
- The coding agent installed and signed in. Settings → Connections → Computers lists, under each computer's details, the coding agents found on it, their versions and whether they're ready. When one isn't signed in, needs an API key or needs an update, its row says what to do. You can use it as soon as you've installed it or signed in: the computer checks again on the spot when a task is handed over, and the settings catch up right after.
How to use it
- Just name it: "Have Codex…", "Use Cursor in ~/code/app to…". Without a name, your agent may still hand a sizable change in a code repository to a coding agent on your computer; small edits it makes itself with the file tools.
- Your agent writes the task up as a complete brief (the goal, the files involved, constraints, how to check the result): the coding agent sees nothing else from your chat.
- One hand-off runs for up to 30 minutes by default, and up to an hour when needed. Afterwards you can say "now have it add tests", and your agent continues in the same session, so the coding agent remembers what it just did.
- You can stop at any time: stop the reply in the chat, and the coding agent stops too.
How approvals map
Handing the task over follows the rules in When it asks first, the same as running a command on your computer. After that, the coding agent works under its own permission level, and Waper picks the level from your chat's approval mode:
- Approve for me: each tool's own automatic level. What it decides it can do, it does without asking; anything beyond that level (changes outside the work folder, going online, commands outside its rules) it asks Waper about. Waper answers yes right away to reading, searching, fetching from the web and changes inside the work folder, and shows you a card for the rest.
- Full access: each tool's most permissive level, so it hardly ever asks. When its own safety checks still ask, you get a card in the chat.
| Coding agent |
Approve for me |
Full access |
| Codex |
Auto review |
Full access |
| Cursor CLI |
Default |
--force |
| GitHub Copilot CLI |
Default |
Allow all |
| OpenCode |
Default |
Allow everything |
| Gemini CLI |
auto_edit |
yolo |
The card says who wants to do what, and where ("Codex wants to run a command on MacBook"); Details shows the command or the change and the files involved. There are only two buttons, Allow and Deny, and each answers just this one request: there's no "Always allow", so nothing is left allowed on its side that Waper can't see or undo. A card still waiting when the hand-off ends (finished, stopped, or out of time) turns into "No longer needed".
When the hand-off itself needed your approval first, the cards it sends after you approve appear under that approval card, and you answer them the same way. For now, permission cards are answered on the web or in the desktop app; the iOS app doesn't show them yet.
Costs
- The coding agent uses your own account or API key; its model costs are billed there, not in Waper credits.
- Handing the task over and reading the result are steps your agent takes, and use credits as usual.
Risks
On that computer, a coding agent works with your whole environment, just as when you run it in a terminal yourself:
- Signed-in browsers: some coding agents open web pages with your browser profile, signed in as you.
- Global skills and settings: it reads the global skills, MCP servers and allow rules you set up for it, plus the configuration in the folder (repository) it works in. An untrusted repository can allow commands in advance.
- Files outside the work folder: if its level allows, it can read and write files outside the work folder; some default levels don't even ask before writing there.
This is the same as your agent using the computer itself (see What your agent can use): the folder you name tells it where to start; it doesn't limit it. What Waper controls is whether to hand a task over, to which agent, in which folder, the requests it sends back, and stopping it at any time; how far it has got is always shown in the chat. Only hand it folders you trust.
When the computer goes offline
- Your agent won't quietly do the work in the cloud instead. It tells you to open Waper on that computer and ask again.
- If the computer loses its connection halfway through, the coding agent keeps working on it. Once it reconnects, the result is sent back and any permission request still waiting for you shows up in the chat again. If it isn't back before the hand-off's time limit (30 minutes by default), the hand-off ends as timed out.
- Only when Waper on that computer quits or restarts does the hand-off count as interrupted: the coding agent is stopped, your agent tells you, and you can have it carry on.