Styx is where everything converges: every repo you work in, the AI coding agents building in them, and every login they need to ship. Switch between all of it from one window. And like the river it's named after, nothing crosses over without you. Deploying, or touching live data, asks you first.
See the codeRun Claude Code, Codex, Gemini and Cursor on all your projects at once.
They ask before they touch production.
Download for Mac · Download for Windows · Linux · Docs · Website · Watch the story (1:42)
Contribute: Add an agent · Add a deploy target · Contributing guide
You already use coding agents. The hard part is everything around them: one agent per terminal, each on whatever
branch it found, your deploy keys sitting in a .env they can all read, and no idea which one is waiting on you.
Styx is one window for all of it. Every project you work on, every agent working in them, and every login they need to ship. Each task gets its own branch, so agents never trip over each other. And when one wants to deploy, migrate a database or touch anything live, it has to ask you first.
Styx drives the agent CLIs you already have and are signed in to (Claude Code, Codex, Gemini CLI or Cursor), so your existing subscriptions just work. There are no API keys to paste, and your prompts go straight to the agent, not through us.
Styx is built around switching between everything you work on, not one repository. Each project keeps its own tasks, agents, terminal and logins, and they're all one click or one keystroke apart. Home shows every project at once: what needs you, what's working and what's ready to land.
Every task runs in its own copy of the repo on its own branch. Tasks shows them all at once: what each is doing, what it changed, and which ones are waiting on you. When one is done, Land commits it, brings main in, runs your checks and merges it. If a turn went wrong, Undo this turn puts the files back the way they were.
Connect Vercel, AWS, Google Cloud, Supabase, GitHub and SSH once. From then on an agent can't just use them: it asks, says why, and you choose what it gets and for how long (once, an hour, or the session).
Ask an agent for screens and they appear on a canvas at desktop, tablet and phone sizes. Click anything to change it yourself or tell the agent what to fix. When it looks right, Build it starts a build task with the design attached.
Preview runs your app inside Styx. Use Select to fix, click the thing that's off and say what's wrong: the agent gets the element, the page and a picture of it.
Working with agents
@file and /command as you type.Reviewing and shipping
Your setup
Is it free? Yes. Styx is free and open source under the Apache License 2.0. Every feature works without an account. Signing in (with GitHub or Google) is optional.
What leaves my machine? Your code, projects, paths and prompts never do. Release builds send anonymous usage counts
(how often the app opens, a task starts, an agent fails to start and why) so we know what to fix. The complete, fixed
list is usageEventSchema, with no field that could carry a name, path or
text. Turn it off in Settings › Account › Send usage counts. Running from source (pnpm dev) never sends anything;
a build you package yourself does, unless you point it at your own service (see CONTRIBUTING.md).
Is it a sandbox? No, and we'd rather say so. Styx is a guardrail: agents run as you, on your machine, and an agent that deliberately goes around Styx's tools isn't stopped by them. What Styx guarantees is that it never hands an agent your keys, and that every grant it gives is scoped, timed and written down.
How does an agent ask? Agents talk to Styx through a local broker (styx mcp) and small wrappers around the
gh, vercel, aws, gcloud, supabase and ssh commands. A request shows up in the chat, on the task and as a
notification, and approving it anywhere resolves it everywhere. The design decisions behind this are in
docs/adr.
You need Node 22 or newer, pnpm 10 (corepack enable picks the right version) and git. On macOS, the Xcode command line
tools; on Windows, the Visual Studio C++ build tools; on Linux, build-essential and python3 (for the native
modules). Running the end-to-end tests on a headless Linux machine needs xvfb-run.
pnpm install
pnpm tokens:build
pnpm dev # STYX_FIXTURE=demo seeds sample projects in a temporary database
Checks and packaging:
pnpm typecheck && pnpm lint && pnpm test
pnpm e2e # Playwright, driving the Electron app
pnpm storybook # the component library
pnpm package:mac # or package:win
The code is a pnpm monorepo:
| Path | What |
|---|---|
apps/desktop | The Electron app: src/main (database, git, terminals, keychain, the access broker) and src/renderer (React) |
apps/website | heystyx.com |
packages/core | Domain types, state machines, the policy engine and the IPC contract. No Electron, DOM or I/O |
packages/ui | The component library, with Storybook |
packages/broker | The protocol agents use to ask for access, and styx mcp |
packages/cli | The styx command line and the provider wrappers |
If Electron starts as plain Node, your shell has ELECTRON_RUN_AS_NODE set; the scripts above already clear it.
Questions and ideas go in Discussions; new issues and pull requests get a first reply within 2 working days.
Bug reports, ideas and pull requests are welcome. Start with CONTRIBUTING.md; the docs explain how Styx is built. To report a security problem, please follow SECURITY.md instead of opening an issue.
The two easiest ways in are self-contained, with a worked example and a checklist each:
Apache License 2.0. See LICENSE. The Styx name and logo aren't covered by the licence, so if you ship a fork, give it its own name.
Styx is where everything converges: every repo you work in, the AI coding agents building in them, and every login they need to ship. Switch between all of it from one window. And like the river it's named after, nothing crosses over without you. Deploying, or touching live data, asks you first.
See the codeRun Claude Code, Codex, Gemini and Cursor on all your projects at once.
They ask before they touch production.
Download for Mac · Download for Windows · Linux · Docs · Website · Watch the story (1:42)
Contribute: Add an agent · Add a deploy target · Contributing guide
You already use coding agents. The hard part is everything around them: one agent per terminal, each on whatever
branch it found, your deploy keys sitting in a .env they can all read, and no idea which one is waiting on you.
Styx is one window for all of it. Every project you work on, every agent working in them, and every login they need to ship. Each task gets its own branch, so agents never trip over each other. And when one wants to deploy, migrate a database or touch anything live, it has to ask you first.
Styx drives the agent CLIs you already have and are signed in to (Claude Code, Codex, Gemini CLI or Cursor), so your existing subscriptions just work. There are no API keys to paste, and your prompts go straight to the agent, not through us.
Styx is built around switching between everything you work on, not one repository. Each project keeps its own tasks, agents, terminal and logins, and they're all one click or one keystroke apart. Home shows every project at once: what needs you, what's working and what's ready to land.
Every task runs in its own copy of the repo on its own branch. Tasks shows them all at once: what each is doing, what it changed, and which ones are waiting on you. When one is done, Land commits it, brings main in, runs your checks and merges it. If a turn went wrong, Undo this turn puts the files back the way they were.
Connect Vercel, AWS, Google Cloud, Supabase, GitHub and SSH once. From then on an agent can't just use them: it asks, says why, and you choose what it gets and for how long (once, an hour, or the session).
Ask an agent for screens and they appear on a canvas at desktop, tablet and phone sizes. Click anything to change it yourself or tell the agent what to fix. When it looks right, Build it starts a build task with the design attached.
Preview runs your app inside Styx. Use Select to fix, click the thing that's off and say what's wrong: the agent gets the element, the page and a picture of it.
Working with agents
@file and /command as you type.Reviewing and shipping
Your setup
Is it free? Yes. Styx is free and open source under the Apache License 2.0. Every feature works without an account. Signing in (with GitHub or Google) is optional.
What leaves my machine? Your code, projects, paths and prompts never do. Release builds send anonymous usage counts
(how often the app opens, a task starts, an agent fails to start and why) so we know what to fix. The complete, fixed
list is usageEventSchema, with no field that could carry a name, path or
text. Turn it off in Settings › Account › Send usage counts. Running from source (pnpm dev) never sends anything;
a build you package yourself does, unless you point it at your own service (see CONTRIBUTING.md).
Is it a sandbox? No, and we'd rather say so. Styx is a guardrail: agents run as you, on your machine, and an agent that deliberately goes around Styx's tools isn't stopped by them. What Styx guarantees is that it never hands an agent your keys, and that every grant it gives is scoped, timed and written down.
How does an agent ask? Agents talk to Styx through a local broker (styx mcp) and small wrappers around the
gh, vercel, aws, gcloud, supabase and ssh commands. A request shows up in the chat, on the task and as a
notification, and approving it anywhere resolves it everywhere. The design decisions behind this are in
docs/adr.
You need Node 22 or newer, pnpm 10 (corepack enable picks the right version) and git. On macOS, the Xcode command line
tools; on Windows, the Visual Studio C++ build tools; on Linux, build-essential and python3 (for the native
modules). Running the end-to-end tests on a headless Linux machine needs xvfb-run.
pnpm install
pnpm tokens:build
pnpm dev # STYX_FIXTURE=demo seeds sample projects in a temporary database
Checks and packaging:
pnpm typecheck && pnpm lint && pnpm test
pnpm e2e # Playwright, driving the Electron app
pnpm storybook # the component library
pnpm package:mac # or package:win
The code is a pnpm monorepo:
| Path | What |
|---|---|
apps/desktop | The Electron app: src/main (database, git, terminals, keychain, the access broker) and src/renderer (React) |
apps/website | heystyx.com |
packages/core | Domain types, state machines, the policy engine and the IPC contract. No Electron, DOM or I/O |
packages/ui | The component library, with Storybook |
packages/broker | The protocol agents use to ask for access, and styx mcp |
packages/cli | The styx command line and the provider wrappers |
If Electron starts as plain Node, your shell has ELECTRON_RUN_AS_NODE set; the scripts above already clear it.
Questions and ideas go in Discussions; new issues and pull requests get a first reply within 2 working days.
Bug reports, ideas and pull requests are welcome. Start with CONTRIBUTING.md; the docs explain how Styx is built. To report a security problem, please follow SECURITY.md instead of opening an issue.
The two easiest ways in are self-contained, with a worked example and a checklist each:
Apache License 2.0. See LICENSE. The Styx name and logo aren't covered by the licence, so if you ship a fork, give it its own name.