Getting Started
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 start your agents.
Requirements
| Part | Runs on |
|---|---|
| Desktop app | Windows 10 or newer on x86_64 |
nana CLI and server |
Windows 10 or newer on x86_64. On a remote server: macOS 14 or newer, or Linux with glibc 2.35 or newer, on x86_64 or ARM64. musl is unsupported. |
See Windows desktop app for the package. A source build is described in the root README.
Windows desktop app
Download the native package from the latest release:
- Download
Nana-<version>-x86_64.msiand open it. It installs for your user only — no administrator — into%LOCALAPPDATA%\Programs\nana-desktop, ornana-desktop-betafor the beta, with a Nana (or Nana Beta) entry in the Start menu. - Leave the Command line tool on PATH feature selected to open a project
with
nana <folder>from any terminal.
Every release installs as a versioned installation: current is a junction the
installer points at one versions\<version> directory, and the app’s own
updater unpacks the new version beside the running one, points current at it
and restarts into it, so the app, the nana command and the server are always
from one build. Notifications are filed under
the app’s identity (com.nana.app, com.nana-beta.app for a beta), which the
installer registers together with the shortcut.
A managed machine, or a policy that blocks MSI files, can use the installer
directly. Set VERSION to the version without its leading v:
$version = '0.1.0'
$installer = "$env:TEMP\install-desktop-windows.ps1"
Invoke-WebRequest "https://github.com/Areshkew/nana/releases/download/v$version/install-desktop-windows.ps1" -OutFile $installer
pwsh -File $installer install -Version $version -AddToPath
The installer selects x86_64, downloads the release zip over HTTPS, checks its
SHA-256 against the release’s metadata, verifies every file in the package
against its manifest and every executable’s own build identity, and then
installs. It does not open the app. Nothing else is needed: the package carries
the app, the nana command, the server and the default-terminal proxy, needs no
Visual C++ redistributable, and does not use Python.
Open Nana or Nana Beta from the Start menu.
Updates and recovery (Windows)
The app checks automatically, and Check for Updates checks immediately.
Stable installs receive stable releases; beta installs receive betas. The
updater verifies the archive checksum, the package manifest and the matching
build of the app, the command and the server before replacing anything, keeps
the running version while the app runs, and restarts into the new one. Settings,
projects and sessions live in Nana’s own profile under %LOCALAPPDATA% and are
not part of an update.
Uninstall (Windows)
Quit the app and stop its local server first. Then either remove Nana (or Nana Beta) in Settings → Apps → Installed apps, or run the installed installer:
pwsh -File "$env:LOCALAPPDATA\Programs\nana-desktop\installer\install.ps1" uninstall -Root "$env:LOCALAPPDATA\Programs\nana-desktop"
For the beta, replace nana-desktop with nana-desktop-beta. Removal refuses
while an installed app, command or server is running, and removes only the
versioned installation, its own shortcut, its notification identity and the PATH
entry it added. Settings, projects, sessions and kibbles are kept.
Windows terminal integration
Nana can be the terminal Windows hands a new console session to, and it adds Open in Nana to Explorer’s folder menu. Both live in Terminal, and the reasons behind the unpackaged per-user design are in Decisions.
CLI and server only
For a Linux computer or Mac you reach as a remote server. This installs nana
and nana-server from the native release packages.
Nana’s native packages and the install script below must be published under
Areshkew/nana first; the repository’s existing Electron releases are not
native Rust builds. On a computer you reach as a
remote server, use the install script:
SSH sessions often don’t have a package manager on PATH.
Install script
Set VERSION to the newest version on the
releases page, without the
leading v:
VERSION=0.1.0
curl -fsSL "https://github.com/Areshkew/nana/releases/download/v$VERSION/install-nana.sh" \
| sh -s -- --version "$VERSION"
export PATH="$HOME/.local/bin:$PATH"
The script picks the build for your OS and architecture, verifies its checksum,
and installs both commands into ~/.local/bin. Add the export line to your
shell’s startup file to keep them on PATH.
- Update: run it again with the new version and
--replace. - Another folder: add
--install-dir PATH.
Check it
Run nana --version and nana-server --version, then nana server start
to start the server. Updating them never restarts a
running server; stop it to switch to the new
version.
Beta
The beta gets new features first. It installs as a separate app, Nana Beta,
next to Nana, keeps its own settings and data, and updates to each new beta.
Download it from the newest v<version>-beta.<N> pre-release on the
releases page. For the CLI and
server, give the install script a beta version, such as 0.1.0-beta.3.
First steps
- Add a project. Choose Add Project at the bottom of the sidebar, or
press
Ctrl+Shift+O, and pick a folder. - Open a terminal.
Ctrl+Shift+Topens a tab in the project.Ctrl+Shift+Nopens one in Home. - Split it.
Ctrl+Shift+Dsplits right,Ctrl+Shift+Alt+Dsplits down. - Quit freely. Terminals keep running in the background. Reopen Nana and everything is where you left it.
Next
- How Nana works: the server, sessions, and history.
- Projects, Terminal, and Keyboard shortcuts.
- Remote servers.
- Settings and Troubleshooting.