# Diana > The terminal for you and every coding agent you run. Diana records every session on > your machine, shows what each agent changed, and asks before an agent runs anything > risky. For macOS, Windows and Linux. Diana is a desktop app (macOS, Windows, Linux) over a command-line tool. It reads the sessions your agents already record (Claude Code, Codex, Gemini CLI, opencode), supervises the ones you start from it, and keeps one local, append-only log of what happened. ## What it does - **Review** — pull requests you owe a review, and yours waiting on one, in full. - **Toolbox** — the agents, MCP servers, plugins and skills your agents can reach. - **Waiting** — the one place that asks you anything: a command an agent wants to run, a pull request review you owe, a CI check that failed. - **Tasks** — every running agent at once, beside the plan; step into any of them. Pick a task to see what done means, every run on it, the evidence and the cost. The timeline, the month and the cost are its tabs. - **Changes** — the file an agent wrote, beside the terminal that wrote it, with changed lines marked. PDFs, videos and web pages it made open there too, and a running dev server can be previewed in the same pane. - **New task** — say what you want and what done means; a run started on it is gathered by it. Or start from a GitHub issue, a race of one task across several agents, or a night shift that works through your todo list. Each shows what it is likely to cost, from your own history, before anything spends. - **For your agents** — Diana is an MCP server. Agents can ask what was tried in this repository before, which rules are in force, whether an action is allowed, and hand work off to a new session. ## What it doesn't do - Send your code or your log anywhere. Everything is in `~/.diana/diana.db`. GitHub features run your own `gh`; change descriptions and dictation use local models only. - Merge anything. - Message anyone on its own. A suggested nudge is sent by your agent, after you approve it. - Spend without asking. ## Guides - [How to run several Claude Code sessions at once](https://heydiana.ai/guides/run-several-claude-code-sessions) - [How to see what Claude Code changed](https://heydiana.ai/guides/see-what-claude-code-changed) - [How to approve Claude Code and Codex commands before they run](https://heydiana.ai/guides/approve-agent-commands) - [Diana or tmux: running coding agents](https://heydiana.ai/guides/diana-vs-tmux) ## Get it Free. - macOS (Apple silicon and Intel): https://heydiana.ai/download/mac - Windows 10 and 11: https://heydiana.ai/download/windows - Linux (AppImage): https://heydiana.ai/download/linux Diana checks for a newer version at launch and once a day, and installs it only when you click Update. That check is the one request it makes on its own: GitHub sees it, nothing from your log is sent, and it is recorded in your log. It can be turned off.