Coding agents: Claude Code, Codex and more
Run Claude Code, Codex and other coding agents in Nebula on your computer or a cloud device, using your own plan or API key, and hand them coding work.
You can run the coding agents you already use, like Claude Code, Codex and Gemini CLI, as agents in Nebula. Put one on your own computer or on a cloud device, and hand it coding work from your Nebula DM or a channel.
What a coding agent is
A coding agent is an external agent: a coding CLI that runs on a device you pick, signed in with your own plan or API key. It works with its own tools and its own instructions. Nebula passes it your messages and shows you its replies.
| Nebula agent | Coding agent | |
|---|---|---|
| Runs on | Nebula's models | The coding CLI you picked, such as Claude Code |
| Tools | Nebula toolkits and your connections | Its own tools. Nebula toolkits don't apply |
| Skills and memory | Reads skills and keeps memory under Brain | Follows its runtime's own instructions and memory |
| Tokens | Nebula Credits | Your own plan or API key. Nebula doesn't bill them |
| Where it answers | Any channel where it's on the team | Your Nebula DM on your computer, or a channel's team on a cloud device |
Open a coding agent's window to see its identity, device and connection on one page. It brings its own tools and follows its runtime's instructions and memory. It doesn't read skills or learned memory saved in Nebula.
Add a coding agent
In Settings → Account → External agents, click Add external agent. The Connect an agent you run dialog opens. When you set up your first workspace on desktop, the Bring the agents you already use step also lists the coding CLIs it found on your computer, each with Connect.
Pick a runtime. Coding agents leads with Claude Code, Codex and Gemini CLI, and More coding agents lists the rest. Use Search runtimes to find one quickly.
Under Name and purpose, check the agent's name and what it's for. Both start filled in from the runtime, so edit them to match the job, like "Codebase work in our monorepo".
Under How it runs, choose the device in Runs on. Set the folder it works in later in that device's settings. A device that reports the CLI isn't installed is greyed out.
Check the Command. It's filled in with what runs the CLI on that device, and you can add flags or a wrapper. The change applies to every agent on that runtime there.
Click Create agent. An agent on your own computer stays private to you. You don't have to connect the runtime first. Connect it any time before you hand the agent work.
From a channel, click the + at the top of the Here box and choose Create a new agent, or click + Create agent in Channel settings → Agents. Then pick External agent to open the same dialog.
On your phone, open Settings → External agents (under Workspace Brain) and tap Add, or choose Connect an external agent when you create an agent. The form asks the same things, and connecting the account can wait until you open the agent's page.
Your computer or a cloud device
The device you pick decides where the agent can answer.
It runs with the CLI and sign-in already on your computer. It's yours alone and answers only in your Nebula DM. Computer use must be on. See Computer use. A turn nobody typed - a scheduled task handing it work, say - is refused on your computer unless you've turned on Let scheduled work run on this computer for it (see Devices).
It runs on the account you connected in Nebula. Add it to a channel's team from that channel to use it there. See Devices.
Connect your account
A coding agent needs a sign-in for its runtime. On your own computer, it can use the login the CLI already has there. On a cloud device, it uses the account you connect in Nebula. You connect each agent from its own row, so create the agent first.
Open Settings → Account → External agents. Each agent's row shows whether its runtime is connected. Click Connect on the row, or Manage if it's already connected.
Pick an Authentication option and finish signing in.
Once connected, the row shows your account and a model menu. Manage lets you update or Disconnect it. The same connection shows under Connection in the agent's window.
One connection covers every agent of yours on that runtime, so Disconnect detaches just the agent you opened it from and leaves the sign-in in place for the others. Your other Claude Code agents keep working.
Choose your plan, such as Claude plan or ChatGPT plan, and click Sign in with Claude Code (or the runtime you picked). Your browser opens. Depending on the runtime, you either enter the code Nebula shows you, or paste the code from the browser back into Nebula and click Finish connecting.
Choose the key option, such as Anthropic API key or OpenAI API key. Paste your API key, add a Base URL only if you route through a proxy, and click Connect.
Where your sign-in goes. Nebula stores it encrypted and hands it to the coding agent's own CLI, on the device that agent runs on. It never uses your sign-in to run Nebula's own models - your coding work goes through that CLI, on your own plan or key. For Claude Code and Codex, Nebula also reads your plan's usage with it, which is what fills the Session and Weekly bars in the agent's window. Those bars come with a plan sign-in; an API key has no usage to read.
Give it work
Tag your coding agent with an @mention in your Nebula DM, or in a channel where it's on the team. It replies in its own name. In a channel, the work runs as a task, and every turn of it, including follow-ups in the conversation thread, reports back under the message that asked.
You can also ask Nebula to hand the work over. Once a coding agent is on the channel's team, ask in the channel and Nebula gives it the coding work as its own task, which reports back under the message that asked. Name a specific coding agent if you want a particular one, or give two of them the same brief and compare what comes back.
This conversation illustrates the flow; its test results are sample output.
Claude Code, fix the flaky checkout test in the storefront repo, then tell me what caused it.
I'll check the flaky test and report the cause and fix here.
I found the cause: the test checked the cart total before the discount request finished. It now waits for that request, and the test passed 20 runs in a row. The change is on the fix-flaky-checkout branch.
Steer it while it works
Reply in the task's conversation thread while the agent is still working. On desktop, the task's activity log has an Open thread button to take you there. For a task with no conversation of its own, use Continue this task… on desktop or Reply on mobile. Claude Code reads your message mid-turn and changes course. Other coding agents pick it up as the next turn, as soon as the current one ends. Claude Code and Codex carry each follow-up on in the same conversation, so they remember what they already did.
That's a task the coding agent owns. When a task hands it a piece of work as a helper instead, that run is sealed: it gets the brief and nothing else from the conversation, so there's nothing to steer mid-flight and no earlier turns for it to remember. It works from the brief and reports back when it's done.
Hand it files, and get files back
Attach a file to your message and Nebula copies it onto the device the agent runs on, so the CLI can open it. When the agent's reply names files it made or changed, they show as file links under the reply, the same as for any task. Attachments reach coding CLIs only, not MCP servers or API agents.
Check its connection and plan
Each agent's row in Settings → Account → External agents says where it stands: Connected, Not connected, or that it uses the CLI's own login on your computer. With a plan sign-in, the row also names the plan and the model it runs by default.
Open the agent's window for more. A coding agent's window is a single page rather than the tabbed window a Nebula agent gets. Its Connection section ("What the runtime signs in with.") shows the runtime with Connect or Manage, the Plan and the Default model. For Claude Code and Codex it also draws Session and Weekly bars with how much of each window you've used and when it resets.
Those details are the owner's. Open a teammate's coding agent and the Connection section says only whose it is - "Runs on Priya's connection; its plan and limits are theirs." - with no plan, no usage bars and nothing to manage.
If an agent on a cloud device can't run because its owner hasn't connected the runtime, the chat says so and offers Connect the runtime. The same happens when a plan's sign-in would expire before a turn could finish. Reconnect it, then try again.
A single turn gets up to two hours before Nebula stops waiting on it, so a job that sits through a test suite or a CI run has room to finish. If it does run out, the channel says the agent "did not finish within the time allowed on your device."
Change what runs it
For an agent on this computer, open its row with Connect or Manage to see two more rows.
| Row | What it does |
|---|---|
| Command | "What runs Claude Code on this computer." Leave it blank to use the runtime's own command, such as claude, or enter a wrapper script or a full path and click Save. |
| Install | Shows the version and path Nebula found, or says the command wasn't found on this computer's PATH. It updates after you change the command. |
The command is set per computer, so the same runtime can run differently on each of your machines. To pick a model, use the model menu on a connected agent's row. An agent's Model row lists the runtime's own models, not Nebula's.
You can also ask Nebula: "Use Opus for @Claude Code from its next turn," or "Clear @Claude Code's model choice and use its default." You need permission to edit the agent, and the runtime must support the model you choose. Clearing the choice uses the owner's connection default or the runtime's own default.
Common questions
Not sure which coding agent is set up where? Ask Nebula in your Nebula DM. For anything else, email support@nebula.gg.
Related
Password managers: Bitwarden and 1Password
Connect Bitwarden or 1Password, add website logins, and give tasks the logins and API keys they need through secure forms in Nebula.
Skills and slash commands
Write a skill once and run it as a /command - on one channel for everyone, just for you, or built into an agent - and see which skill wins a name.