Your developer pod, from the first login
Your developer pod is a computer where Claude Code and Codex keep working while your laptop is shut. In the first hour you sign in to them on it, bring your code, start a session that keeps going without you, and follow it from your phone. After that, the agent on your laptop can hand tasks to sessions on the machine, and work can run there on a schedule.
Here the machine is called atlas and your login on it is alex. Yours are in the ssh line on the machine’s page.
The coding agent on your laptop can do most of this with you. The machine’s page has a line to paste into it, with your login filled in:
Set up my Everpod developer pod with me, following https://everpod.ai/docs/developer-pod. I log in to it with: ssh alex@atlasThe first hour
1. Log in
On your laptop, with Tailscale running
ssh alex@atlasNo key or password: Tailscale checks it is you. If it prints a Tailscale link instead, open it, sign in, and the login carries on.
2. Sign in to Claude Code and Codex
On the machine
claude
codex login --device-authEach is yours to do, once: it is your own account. Claude Code prints a link: open it on your laptop or phone, sign in, and paste the code it shows back into the terminal. Sign in with your Claude plan (Pro, Max, Team or Enterprise) to follow sessions in the Claude app: an API key runs Claude Code, but not in the app. Codex prints an address and a code to enter there; switch on device code sign-in in your ChatGPT security settings first.
Already done? claude auth status says whether Claude Code is signed in, and with what: a Claude plan shows as "authMethod": "claude.ai". codex login status says the same for Codex.
3. Bring your code
On the machine
gh auth login
gh repo clone alex/app ~/projects/appGitHub’s command line is installed. gh auth login asks a few questions: choose to log in with a web browser, and it gives you a code and an address to open on your laptop. Then clone your own repositories, wherever you like; here they go in ~/projects. gh auth status says whether GitHub is signed in already.
Files git does not carry, such as an .env, go over from your laptop:
On your laptop
scp .env alex@atlas:~/projects/app/Send only the keys the work on the machine needs, and never paste one into a chat with an agent, where it stays in the conversation.
4. Start a session that keeps going
On the machine
tmux new -s app
cd ~/projects/app
claude --remote-control appThe first time in a folder, Claude Code asks whether you trust it: say yes. Give it its work, then press Ctrl-b, then d. The session carries on inside tmux on the machine, and you can close your laptop. To come back to it:
From your laptop, or any device with Tailscale
ssh alex@atlas
tmux attach -t appFor Codex, start codex where this starts claude. tmux ls lists your sessions.
Claude Code starts in auto mode: a check of its own stands in for most permission questions, so a session left alone keeps working, and a question it does ask waits for you. Codex waits at any question it asks until you attach.
5. Follow it from your phone
In the Claude app, tap Code: the session named app is in the list, with a computer icon and a green dot while it runs. Read along, answer its questions and give it the next task from there.
To reach the terminal itself, for Codex or anything else: install Tailscale’s app on your phone and sign in with the same account, then an SSH app such as Termius, whose sign-up you can skip. Add a host with atlas as its hostname and alex as its username, with no key or password, and connect; if it prints a Tailscale link, open it, as on your laptop. If your phone asks whether the app may find devices on your local network, you can say no. Then run tmux attach -t app.
Your laptop and the machine
Work with them as two developers on one team. Both clone your repositories from GitHub and push what they do, and work moves from one to the other by a push on one and a pull on the other. Only the keys the machine’s work needs are copied across, from your laptop as above. By default the machine does not start connections to your other devices. If you want it to reach them, ask the agent on the machine and it switches that off for you. If you want a rule that nothing on the machine can switch off, set it in your Tailscale access controls; our guide to Tailscale SSH for an agent server shows one.
Many sessions at once, from the agent on your laptop
Each task can be a session of its own on the machine, working in its own copy of the repository on its own branch. The agent on your laptop can start them for you: you tell it the task, it hands it to a session on the machine, and you follow each one in the Claude app. Codex, in the same place, can review what a session made. Put this in the instructions the agent on your laptop reads every time (a CLAUDE.md or AGENTS.md), with your own login and repository:
In the instructions file on your laptop
## My developer pod
- It is a cloud computer of mine where coding sessions keep running when this laptop is shut. I log in with: ssh alex@atlas
- Run commands there through a login shell: ssh alex@atlas "bash -lc '...'"
- My repositories are in ~/projects on it. Carry code between this laptop and the machine through GitHub. Send the machine only the keys its work needs, with scp from this laptop.
- To hand a task to a session there, start Claude Code in the background, in a worktree of its own, named for the task:
ssh alex@atlas "bash -lc 'cd ~/projects/app && claude --bg -w fix-login -n fix-login --remote-control fix-login \"Fix the login bug in issue 12, then push the branch.\"'"
- To see how the sessions are doing, each with its id: ssh alex@atlas "bash -lc 'claude agents --json'"
- For a second opinion on a finished branch, ask Codex there:
ssh alex@atlas "bash -lc 'cd ~/projects/app/.claude/worktrees/fix-login && codex exec \"Review this branch against main. List what is wrong, and change nothing.\"'"
- When a session is done and its branch is pushed, remove it and its worktree by its id: ssh alex@atlas "bash -lc 'claude rm ID'"
- I follow and answer each session in the Claude app. Bring me only what needs me.A repository Claude Code has never opened needs one session started there by hand first, to trust it; the first hour did that for the first one. claude rm keeps a worktree whose commits are not pushed, and says so.
Work on a schedule
Your account on the machine is set to keep running with nobody logged in, so a timer of yours runs whether or not you are, and keeps its schedule after a restart. Each run is a headless Claude Code run, claude -p, or a Codex run, codex exec. Nobody is there to answer a question, so give a Claude Code run the exact tools it may use, and it is refused anything else instead of asking:
On the machine
claude -p "Summarise what changed in this repository today, in one sentence." \
--permission-mode dontAsk --allowedTools "Read" "Bash(git log *)"To put a run on a schedule, ask Claude Code or Codex on the machine for a systemd user timer that runs it when you want. Have every run send you what it did, so a run that failed or never started is one you hear about: Claude Code notifications on your phone says how. A run uses the machine’s own Claude Code sign-in, and nothing warns it before that sign-in lapses: one more reason for the message.
After a restart
A restart ends everything that was running: tmux, the agents, background sessions. Everything on the disk stays: your files, what you installed, your sign-ins and your timers. The machine restarts when you change its size, when you restart it or ask us to, and now and then for the hosting provider’s maintenance. To pick up where you were, start tmux again and, in the repository’s folder:
On the machine
claude --continue --remote-control app
codex resume --lastThe whole disk is backed up daily, and the backups rotate over roughly 7 days. To have the machine restored from one, or restarted, email support@everpod.ai.
The other agents
OpenCode and Pi run in tmux like the two above, and OpenCode can also serve a web view of its own that you open in your phone’s browser: OpenCode’s web view from your phone. Hermes and OpenClaw run as services that keep going with nobody logged in: OpenClaw’s setup on the machine’s page installs its own, and hermes gateway install installs Hermes’s. You talk to them from a messaging app, as their own docs describe.
Ask the agents on the machine
Claude Code and Codex on the machine already know what is particular about it: how you reach it, what it can reach, and its backups. Ask them. Anything else: support@everpod.ai.