Zyra is a local coding agent for the terminal and desktop. It works in your project directory, can inspect and edit files, runs checks, and keeps chats and project context local.
The agent engine, provider transports, session handling, and terminal components are maintained as local Zyra runtime source. Builds and installations do not use Pi packages.
Release installs are self-contained. You do not need Node.js, Bun, npm, or Pi on the machine running Zyra.
Windows 10 or 11, x64:
irm https://raw.githubusercontent.com/justelson/zyra/master/install.ps1 | iexOpen a new PowerShell or Command Prompt window, then run zyra. See Windows TUI integration for the upcoming branded launch entry and terminal-icon behavior.
Apple silicon and Intel Macs:
curl -fsSL https://raw.githubusercontent.com/justelson/zyra/master/install.sh | bashThe installer selects macos-arm64 or macos-x64 automatically and places the command in ~/.local/bin.
64-bit x86 Linux:
curl -fsSL https://raw.githubusercontent.com/justelson/zyra/master/install.sh | bashThe installer places the command in ~/.local/bin. Add that directory to PATH if the installer asks you to.
Every installer downloads one platform binary, verifies it against the release SHA256SUMS, and keeps versions side by side so an update does not partially replace a working install.
Run Zyra from the project you want it to work on:
cd path/to/your/project
zyraOn first run, connect either a ChatGPT/Codex subscription or an OpenAI API key:
zyra login subscription
zyra login apiAPI usage is billed separately by OpenAI. Credentials remain in Zyra's own local auth store at ~/.zyra/credentials/auth.json; they are not copied into a project or release artifact.
Useful commands:
zyra # open a chat in the current project
zyra -p "explain this error" # one prompt, printed to the terminal
zyra resume # reopen a previous chat
zyra new --full-access # start a chat without command or edit prompts
zyra new --auto-review # let Zyra review commands and edits automatically
zyra new --edits-only # allow edits but keep command approvals
zyra new --supervised # start a chat that asks before risky tools
zyra threads # list local chats
zyra doctor # check the local setup
zyra --update # install the latest releaseResumed chats keep their permission mode. An explicit startup flag overrides it for that chat; use /access to change it inside the TUI.
Type / in a chat to find commands and discovered Agent Skills. Project commands live in .zyra/commands; project skills can come from .zyra/skills, .agents/skills, or .pi/skills. See the agents, skills, and workflows guide.
Native Windows, macOS, and Linux installers are published on the GitHub Releases page. Desktop and TUI use the same local chats and agent runtime.
Before installing, read the privacy policy and installation changes. Stable Windows Desktop adds Explorer actions, file-type icons and a per-user terminal launcher/PATH entry. Development previews use a separate profile and omit the stable Explorer/PATH integration.
Windows signing is pending a SignPath Foundation application; current Windows downloads are unsigned. See the code signing policy for the proposed approval process, build verification and attribution. If accepted, the project will acknowledge: "Free code signing provided by SignPath.io, certificate by SignPath Foundation."
See the public roadmap for upcoming release targets, reported issues, proposed improvements, and how to add more fixes to the backlog. Plans stay separate from shipped releases.
Development requires Node.js 22.19 or newer and Bun 1.3.9.
git clone https://github.com/justelson/zyra.git
cd zyra
npm ci
npm run check:quick
npm run zyraBuild the standalone TUI for the current machine:
npm run release:tuiExplicit targets are windows-x64, macos-arm64, macos-x64, and linux-x64:
node scripts/build-tui-release.mjs --target=linux-x64Desktop development:
bun dev in desktop/ registers zyra-dev for the terminal. Run zyra-dev
from any project folder to open a new chat against the development Desktop
profile, or zyra-dev resume to pick an existing dev chat. It uses the current
checkout's source and selects the dev namespace automatically. A suffixed dev
profile uses the same ZYRA_DEV_INSTANCE_SUFFIX in both terminals.
To register it without starting Desktop, run bun run install:dev at the repo root.
npm --prefix desktop ci
npm run ui:devUse the focused validation commands in fast-validation.md. Contribution and privacy rules are in CONTRIBUTING.md.
Chats, project memory, local profiles, and credentials stay local by default. Optional product analytics are disabled by default and exclude prompts, responses, files, paths, URLs, terminal content, account identity, and raw errors. See product analytics.
AI requests send the needed conversation and tool context to your selected providers and services. The privacy policy explains external processing, optional analytics, automatic component downloads, retention and your controls. The Chrome companion has an additional Browser privacy policy.
Copyright 2026 justelson. Zyra is licensed under Apache 2.0. See NOTICE and third-party notices for packaged dependencies and assets.