Set up your coding agent
PulseDev doesn't ship a model. It runs Claude Code, Codex or Gemini CLI on your Mac, signed in with your own account. Install one, sign in once in Terminal, and the app finds it.
How PulseDev runs an agent
When you send a note from the widget, the project's server starts the agent you picked as a child process, in your project folder, with a prompt built from your note and what the widget captured: the selector, page URL, markup, styles, matched CSS rules, console errors and a screenshot. The agent's output streams back to the widget's Activity panel while it works.
There are no API keys to paste into PulseDev. Each agent uses the login it already has. Runs count against that account's plan or usage, the same as running the agent yourself.
| Agent | Binary | How PulseDev talks to it |
|---|---|---|
| Claude Code | claude | Non-interactive mode with streamed JSON output |
| Codex | codex | The codex-acp adapter if it's on your PATH, otherwise codex exec with JSON output |
| Gemini CLI | gemini | Agent Client Protocol (ACP) |
| OpenCode | opencode | Temporarily disabled |
Install and sign in
Install at least one agent, then run it once in Terminal and finish its sign-in. PulseDev can't complete a browser login for you, so a run with an agent that isn't signed in fails.
Claude Code
Needs a Claude Pro or Max plan, or an Anthropic Console account.
curl -fsSL https://claude.ai/install.sh | bashThen run claude once and sign in. PulseDev removes ANTHROPIC_API_KEY and ANTHROPIC_AUTH_TOKEN from the environment it starts Claude Code with, so the login Claude Code stored is the one that's used.
Codex
npm install -g @openai/codexOr brew install codex. Run codex once and sign in with your ChatGPT account.
Gemini CLI
npm install -g @google/gemini-cliOr brew install gemini-cli. Run gemini once and sign in with Google.
OpenCode
OpenCode is temporarily disabled in PulseDev and does not appear in the widget’s agent picker. Use Claude Code, Codex or Gemini CLI for now. See the OpenCode status page.
How the app finds them
Apps opened from Finder get a short PATH, so PulseDev adds the usual install folders when it looks for agents:
your PATH/opt/homebrew/bin/usr/local/bin~/.local/bin~/.bun/bin~/.npm-global/bin~/.cargo/binFor Claude Code, Codex and Gemini CLI, open Settings › Agents to see what it found. Each listed agent shows Detected with its path and version, or Not found with an install command. Press Re-check after installing.
If one of those agents lives somewhere else, for example under a Node version manager's folder, click Custom path…, pick the binary with Browse…, and save once it validates. Many agents are Node scripts that start with #!/usr/bin/env node, so node also has to be reachable from one of the folders above.
Choosing which agent runs
Settings › Agents has a Default agent, used when a note doesn't pick one, and an In widget picker switch per agent. Only enabled, detected agents appear in the picker next to the Send button in the widget.
On the free plan only the default agent runs. Pick a different one in the widget and the note still goes to the default. On Pro, every detected agent can run and you can switch per note.
Review mode and Auto-apply
By default, the agent is told to read your code and propose changes without editing files. When it finishes, the note moves to Review and the widget shows the diff under Changes to review. Approve writes the changes to your files. Reject discards them. Either way you can then reply to iterate on the same note, and Revert undoes changes that were applied.
Review mode is an instruction to the agent, not an enforced read-only sandbox. The agent’s own permissions still apply. If an ACP agent asks for permission while it works, for example to run a command, the widget shows the request with the options the agent offered.
The Auto-apply switch in the note composer (also Auto-approve changes in the widget's settings) skips the review step. The agent edits files directly, and PulseDev runs it with its own permission prompts turned off: Claude Code gets --dangerously-skip-permissions, codex exec gets --full-auto, and ACP permission requests are answered with allow. Use it on a clean git tree so you can see and undo what changed.
Something not working? See Troubleshooting.