# nana > nana is a free, native terminal multiplexer for Windows, built for AI coding agents. It runs Claude Code, Codex, OpenCode and other agents side by side, each on its own git worktree, and shows whether each agent is working, waiting for input, or done. Key facts: - Platform: Windows 10 or newer (x86_64). Remote projects can run on Linux or macOS over SSH. - Price: free beta, all current features, no limits on projects or agents. No admin rights needed to install. - Built with Rust, GPUI and libghostty (Ghostty's terminal engine). Native GPU rendering, no Electron. - Detects these agents with no setup or hooks: Claude Code, Codex, OpenCode, Copilot, Cursor, Droid, Grok, Kiro, Pi, Oh My Pi, Antigravity, Xal. - Terminals live in nana-server, so agents keep running after the window closes. - Includes git diffs and code review, a composer that sends one prompt to many panes, 490+ themes, and web-based extensions called Kibbles. - Install from PowerShell: `irm https://nana.areshk.dev/install.ps1 | iex` - Download: https://github.com/Areshkew/nana/releases - GitHub (releases and issues; the source code is closed): https://github.com/Areshkew/nana - Full docs in one file: https://nana.areshk.dev/llms-full.txt ## Docs: User guide - [Getting started](https://nana.areshk.dev/docs/user-guide/getting-started.md): Nana is a free terminal for Windows 10 and newer that runs AI coding agents side by side, each on its own git worktree. Install it with the .msi or one PowerShell command, then open a project and… - [Settings](https://nana.areshk.dev/docs/user-guide/settings.md): Open Settings with Ctrl+,. Use the search box to find a setting. Changes apply immediately, and Settings works while the server is offline. - [Keyboard shortcuts](https://nana.areshk.dev/docs/user-guide/keyboard-shortcuts.md): Defaults for the desktop app. Change any of them in Settings → Keyboard. - [Troubleshooting](https://nana.areshk.dev/docs/user-guide/troubleshooting.md): Common problems and fixes. If yours isn't here, please open an issue. ## Docs: Guides - [Multiple Claude Code agents](https://nana.areshk.dev/docs/guides/multiple-claude-code-agents-windows.md): To run several Claude Code sessions at once without them changing the same files, give each session its own git worktree and its own terminal. Nana is a free Windows terminal that does both, and… - [Git worktrees for agents](https://nana.areshk.dev/docs/guides/git-worktrees-for-ai-agents.md): A git worktree is an extra checkout of a repository, in its own folder and on its own branch, that shares the same history. Giving each AI coding agent its own worktree lets several agents work on… - [Nana vs tmux, Windows Terminal, Warp](https://nana.areshk.dev/docs/guides/nana-vs-tmux-windows-terminal-warp.md): Nana is a terminal multiplexer for Windows built for running AI coding agents such as Claude Code, Codex, and OpenCode side by side. This page compares it with tools people often use for the same… ## Docs: Features - [Server](https://nana.areshk.dev/docs/features/server.md): nana-server runs every terminal. The desktop app and the CLI are both clients of it. That is why terminals keep running after you quit an app, and why several apps can show the same terminal. - [Projects](https://nana.areshk.dev/docs/features/projects.md): A project is a folder on a server. You work in its tabs, and its terminals belong to it. Projects are shared by every app on that server; tabs, splits, workspaces, and project order are kept by each… - [Terminal](https://nana.areshk.dev/docs/features/terminal.md): Nana's terminals run in the server, powered by Ghostty. They keep running after you quit the app, and every app shows the same screen and history. - [Composer](https://nana.areshk.dev/docs/features/composer.md): The composer is a text box for writing long prompts and commands, with files, images, and dictation. It sends to the active terminal, or to every visible terminal in the project. Handy for AI agents. - [Browser](https://nana.areshk.dev/docs/features/browser.md): The desktop app has a built-in browser. A browser is a pane like a terminal, so it opens in a tab or a split, and its page keeps running while hidden. - [Git](https://nana.areshk.dev/docs/features/git.md): For Git projects, the status bar shows the branch, the changes, and pull request state. Commits and pull requests are written by an AI command-line tool you already have. - [AI agents](https://nana.areshk.dev/docs/features/ai-agents.md): Nana recognizes AI coding agents running in its terminals and shows whether each one is working, waiting for you, or done. It needs no setup, hooks, or plugins, and works while no app is open. - [Remote servers](https://nana.areshk.dev/docs/features/remote-servers.md): Nana can work with projects on other computers over SSH. Each computer runs its own nana-server, so remote terminals keep running when you disconnect, just like local ones. Remote projects sit in… - [Nana CLI](https://nana.areshk.dev/docs/features/nana-cli.md): The nana command talks to the server from a shell. It manages projects, terminal sessions, worktrees, and server settings. No desktop app is needed, so it also works on a Linux or macOS remote… ## Docs: Layouts - [Overview](https://nana.areshk.dev/docs/layouts/overview.md): A layout is a file in your project that describes a tab of split terminals. Check it in, and anyone on the project can open the same workspace with one click. - [Schema](https://nana.areshk.dev/docs/layouts/schema.md): A layout is a tree. Each leaf is one terminal (tab). Each branch splits its panes side by side or stacked. The whole tree opens as one tab, titled after its first terminal. - [Examples](https://nana.areshk.dev/docs/layouts/examples.md): Save any of these in a project's .nana/layouts/ folder. ## Docs: Kibbles - [Overview](https://nana.areshk.dev/docs/extensions/overview.md): A kibble is a web project that adds to the desktop app: tabs, panels, popovers, a sidebar, top bar and status bar items, palette commands, shortcuts, background logic, and app languages. You build… - [Get started](https://nana.areshk.dev/docs/extensions/get-started.md): This page builds a working kibble in a few minutes: a panel you toggle from the top bar or a shortcut. - [Manifest](https://nana.areshk.dev/docs/extensions/manifest.md): The manifest is the package.json at the root of the extension. name and version sit at the top level; everything Nana-specific sits under nana. - [Permissions](https://nana.areshk.dev/docs/extensions/permissions.md): A kibble lists what it needs in nana.permissions. Calls without the matching permission fail, and unknown permission names stop the kibble from loading. Ask for the minimum. - [API reference](https://nana.areshk.dev/docs/extensions/api.md): Nana injects a nana object into kibble code. On pages, most calls return a Promise. In scripts and background scripts, most calls are synchronous. Exceptions are noted where they apply, such as… - [Events](https://nana.areshk.dev/docs/extensions/events.md): Pages and background scripts can subscribe to workspace events. List every workspace event you use in nana.events; some also need a permission. - [Tabs](https://nana.areshk.dev/docs/extensions/tabs.md): A tab type is a web page that opens as a tab, next to terminal tabs. It can be split, moved, and pinned like any tab, and is restored on launch. - [Panels](https://nana.areshk.dev/docs/extensions/panels.md): Panels, popovers, and the sidebar are web pages around the workspace. They all get the same page API, data, and theme as tabs. - [Bar items](https://nana.areshk.dev/docs/extensions/bar-items.md): Kibbles can add icons to the top bar and the status bar. Clicking one runs one of the kibble's commands. - [Commands](https://nana.areshk.dev/docs/extensions/commands.md): Commands appear in the command palette (Cmd+Shift+P), can have a shortcut, and run when a bar item or panel header button is clicked. - [Dialogs](https://nana.areshk.dev/docs/extensions/dialogs.md): Native dialogs, a searchable picker, and modal web views. All work from pages, scripts, and background scripts. On pages they return Promises. In scripts, dialogs block until answered, but the… - [Files](https://nana.areshk.dev/docs/extensions/files.md): Read and change files in a project. Calls run on the project's server, so they work the same for local and remote projects. Available on pages and in scripts. - [Git](https://nana.areshk.dev/docs/extensions/git.md): nana.git reads and changes the project's repository. It runs on the project's server, so it works for remote projects too, and is available everywhere. - [Localizations](https://nana.areshk.dev/docs/extensions/localizations.md): Nana is in English. A language pack is a kibble that adds app languages. Users find packs with Settings → Appearance → Browse language kibbles… and pick one under App language. Text a pack doesn't… - [Contributing](https://nana.areshk.dev/docs/extensions/contributing.md): Published kibbles appear in Settings → Kibbles → Browse. ## Optional - [Home page](https://nana.areshk.dev/): product overview - [Pricing](https://nana.areshk.dev/pricing): free plan details - [GitHub releases](https://github.com/Areshkew/nana/releases): changelog and installers