# Atlas

> Atlas is the open-source desktop app that runs Claude Code, Codex, the Gemini CLI and DeepSeek on all your accounts and machines. When one plan hits its limit, the task moves on to the next, and Atlas learns how you work as it goes.

Every coding agent. Every account. One window.

- **Free and MIT.** Open source, every line on GitHub.
- **No account, no telemetry.** Nothing of yours reaches a server of ours.
- **Your own logins.** Atlas never sees a credential.
- **Local or remote.** Your laptop, a home lab, a VPS.

## Personal, work, a client: all signed in at once

Claude Code, Codex, the Gemini CLI and DeepSeek run as you installed them, with your settings, your project’s instructions and your own login. Atlas never sees a credential.

Each account keeps its own folder, history, MCP servers and plugins. They run side by side, each plan’s five-hour window and week in view, read without spending a token.

## A usage limit no longer ends the task

Give a session a route: the accounts and coding agents it may use, in order. When one plan runs out, the session goes on in the next, without you logging out, logging in or explaining it all again.

For example: Claude Code · personal → Claude Code · company → Codex · main.

Across coding agents, the next one starts with a handoff: the task, your latest instruction, the steps not done, the files changed and what happened so far. Built from the session itself, with no model call.

## Your home lab, your VPS, the office PC. One window.

Install Atlas where the work is and open it from the app on your laptop, over Tailscale or an SSH tunnel. Tailscale needs no open port and no certificate.

The Atlas over there does the work, with that machine’s files, keys and approvals. Turn on Always on and it keeps running with the app closed.

## It learns how you work, in files you can read

Every few messages, a copy of the agent rereads the conversation and keeps what it learned: who you are goes to your profile, how to do a task becomes a skill.

It is all plain Markdown you can open and edit.

- profile: Prefers short answers, in Portuguese
- notes: The tests run with uv run pytest
- skill: release-notes: list breaking changes first
- proposal: Replace “deploys on Fridays” with “deploys on Thursdays”

Anything that would replace or remove a memory waits for your approval.

## What it knows stays on your machine

No account, no telemetry and no cloud of ours. Your profile, memory, conversations and encrypted keys live in one folder on your computer, and your coding agents keep their own logins.

## The same agents, without the friction

Atlas does not replace Claude Code, Codex or the Gemini CLI. It runs the copy you installed, through the protocol its makers use for their own apps, and takes away what stops you between tasks.

- **A plan hits its limit mid-task.** On their own: The task stops. You switch accounts by hand and explain it all again. In Atlas: The session goes on in the next account or coding agent on its route.
- **You have several accounts.** On their own: One login at a time, or config folders you juggle in the terminal. In Atlas: Every account signed in at once, each in its own folder, side by side.
- **The work lives on another machine.** On their own: An SSH session and a terminal multiplexer per machine. In Atlas: Every machine in the same window, over Tailscale or an SSH tunnel.
- **An agent asks for permission.** On their own: It waits in a terminal you may not be looking at. In Atlas: It reaches the app, or your phone on Telegram, and waits with no deadline.
- **You want to know what is left.** On their own: /usage in each terminal, one account at a time. In Atlas: Each plan’s five-hour window and week, for every account, in one tab.

## Every command passes the approval gate

Atlas runs commands on your machine, so each one is checked before it runs. Some never run, whatever the mode, and anything that acts outside your machine on your behalf asks you first.

- `npm test`: Runs. An ordinary command goes straight through.
- `git push --force`: Reviewed. A dangerous pattern. Unless auto mode is on, a reviewer model reads it first, and what it is unsure of comes to you.
- `gh pr merge 42`: Asks you. It acts outside your machine, so it asks every time, even in auto mode.
- `rm -rf ~`: Never runs. Blocked in every mode, whatever was approved before.

## And a personal agent of its own

Beyond your coding agents, Atlas is an assistant on the model you choose, with the tools to do the rest of the work.

- **[Routines](https://atlas-site.atlas.workers.dev/docs/guides/routines.md)**: Scheduled prompts and commands, written in plain words (“every weekday at 9am”) or cron.
- **[Bots](https://atlas-site.atlas.workers.dev/docs/guides/bots.md)**: Named agents with their own mission, memory, skills and routines. They write to each other.
- **[Telegram](https://atlas-site.atlas.workers.dev/docs/guides/telegram.md)**: Talk to Atlas from your phone, and answer your coding agents’ questions from it.
- **[Voice](https://atlas-site.atlas.workers.dev/docs/guides/voice.md)**: Dictate into any program on your computer, send audio, or talk live, on your OpenAI key.
- **[A browser of its own](https://atlas-site.atlas.workers.dev/docs/guides/browser.md)**: Atlas drives its own Chrome profile, and stops at logins and payments for you to do them.
- **[Your choice of model](https://atlas-site.atlas.workers.dev/docs/guides/models.md)**: OpenAI, Anthropic, Google Gemini or OpenRouter with your key, or local models through Ollama and vLLM.
- **[Marketplace](https://atlas-site.atlas.workers.dev/docs/guides/marketplace.md)**: Skills, MCP servers, plugins and executors, each reviewed and installed exactly as reviewed.
- **[Plugins](https://atlas-site.atlas.workers.dev/docs/extending/plugins.md)**: Add skills, commands, hooks, MCP servers, tools, channels and new coding agents.
- **[Backups and homes](https://atlas-site.atlas.workers.dev/docs/guides/backups.md)**: One zip of your data, never the keys, and separate homes for work and personal life.

## Install Atlas

Windows, in powershell:

```
irm https://gist.githubusercontent.com/marqueskaio/4e04aef1d784d6d6518f12e466621266/raw/install.ps1 | iex
```

macOS, in a terminal:

```
curl -fsSL https://gist.githubusercontent.com/marqueskaio/4e04aef1d784d6d6518f12e466621266/raw/install.sh | bash
```

Linux, in a terminal:

```
curl -fsSL https://gist.githubusercontent.com/marqueskaio/4e04aef1d784d6d6518f12e466621266/raw/install.sh | bash
```

Docker, in a terminal, with docker running:

```
git clone https://github.com/marqueskaio/atlas.git && cd atlas
docker compose up -d --build
docker compose exec atlas atlas secrets set OPENAI_API_KEY
docker compose exec atlas atlas server token
```

The last line prints the token the app needs. Open the app with ATLAS_DESKTOP_URL=ws://127.0.0.1:18790/ws and ATLAS_DESKTOP_TOKEN set to that token.

1. Run the line. The installer brings its own Python, Node and tools, checked against pinned hashes, then builds the app and opens it.
2. Paste an API key from OpenAI, Anthropic, Google Gemini or OpenRouter when the app asks for one, and start talking.
3. Turn on Claude Code, Codex, the Gemini CLI or DeepSeek in Settings. Each one you have installed shows up in the Executors tab.

Run the same line again to update, or type atlas update. If a step fails, it goes back to where it was.

Nothing else to install first: Git, curl and tar on macOS and Linux, which most already have. Atlas keeps its tools off your PATH, so it changes none of your own, and your data lives apart, in ~/.atlas.

## Questions before you install

### Is Atlas free?

Yes. Atlas is open source under the MIT license, with no paid tier and no account. Atlas’s own agent runs on an API key you bring, and you pay that provider for what you use; your coding agents run on the plans you already have.

### Can I use several Claude Code accounts at the same time?

Yes. Each account is its own executor, such as Claude Code · personal and Claude Code · company, with its own folder, login, settings, MCP servers, plugins and history, and they run side by side. You sign in through Claude Code’s own login in your browser; Atlas never sees, keeps or passes a credential.

### What happens when Claude Code hits its usage limit?

With a route, the session goes on by itself. Within one coding agent it continues in a copy on the next account; across coding agents, a new session starts with a handoff: the task, your latest instruction, the steps not done and the files changed. You can also switch a session’s account by hand.

### Does Atlas replace Claude Code, Codex or the Gemini CLI?

No. Atlas runs the copy you installed and speaks the protocol its makers use for their own apps: Claude Code’s control protocol, codex app-server and the Agent Client Protocol for the Gemini CLI and DeepSeek. Your settings, permission rules and project instructions stay as they are.

### Does my code or data go to Atlas’s servers?

There are none. Atlas has no account, no telemetry and no cloud of its own. Your memory, conversations and encrypted keys stay in a folder on your machine, and what leaves it is what you ask for, such as the calls to your model provider.

### Which models can Atlas’s own agent use?

OpenAI, Anthropic, Google Gemini or OpenRouter with your own key, or a local model through Ollama or vLLM. Each conversation can switch models and effort.

### How does Atlas decide which commands run?

Every command passes the approval gate. A few never run in any mode, dangerous patterns go to a reviewer model or to you, and anything that acts outside your machine, such as merging a pull request or sending an email, asks you every time.

### Can I use it from my phone?

Yes, through a Telegram bot of your own. You talk to Atlas there, get its replies, and answer the questions and permission requests of your coding agents, the first answer, in the chat or in the app, taking it.

## More

- [Documentation](https://atlas-site.atlas.workers.dev/docs.md)
- [News](https://atlas-site.atlas.workers.dev/news.md)
- [Changelog](https://atlas-site.atlas.workers.dev/changelog.md)
- [Source code](https://github.com/marqueskaio/atlas)
