Skip to content

Releases

Primal Code 1.135.7 — a simpler Primal Start and steadier CLI detection

Choose a tag to compare

A small update to 1.135.6: a simpler Primal Start, and a CLI panel that looks for each CLI again before it starts one. Everything in the 1.135.6 notes still applies.

What's new in 1.135.7

  • Primal Start is simpler. It opens on four actions (New Agent Chat, Open Project, Clone Repository and Documentation) with your recent projects below them. In a wide editor the actions sit in two columns and each project's name and path line up; in a narrow one the actions stack and each path sits under its name.
  • The look pickers have moved off Primal Start. The vibe and motif cards are no longer on the page. Run "Vibes: Choose Vibe...", "Motif: Choose Motif..." or "Primal Code: Browse Themes" from the command palette.
  • The first-run guide opens when you ask for it. It no longer shows on Primal Start by itself. Run "Primal Code: Show First-Run Guide Again" to open it.
  • The CLI panel looks for a CLI again before it starts one, so a new pane uses the latest answer, for example right after an install. While it looks, the panel keeps showing the last answer.
  • "Could not check" instead of a wrong Install. If Primal cannot check whether a CLI is installed, it says so and does not offer to install it.
  • A failed check after an install no longer leaves the pane on Installing. The pane shows the error and a Restart button.

Known limits

  • A CLI's first question in a new folder isn't detected. A new pane says Ready while Claude Code asks whether to trust the folder. Answer it in the pane first, then hand over tasks.
  • After you interrupt Claude Code with Esc, its pane can say Working for up to a minute.
  • A shell running a bash or zsh script stays Ready while the script runs.
  • Gemini CLI with ui.dynamicWindowTitle turned off shows no states.
  • A CLI installed while Primal runs, into a folder added to your PATH after Primal started, is found once you restart Primal.
  • A reload during an install doesn't resume the install. Start it again from the pane.
  • A new worktree has only the files git tracks. Untracked files such as .env are not copied into it.
  • If an agent switches branch in its worktree, Primal still names the branch it made.
  • A closed worktree pane's folder has no Remove button. git worktree remove <folder> in a terminal removes it.
  • The same folder added twice, once with a trailing slash, becomes two projects.
  • Tasks: reordering cards within a column, and queueing a card for a busy pane, are not there yet.
  • Windows:
    • Claude Code reports no session, so after /clear a relaunch resumes the conversation from before it. On macOS and Linux it follows /clear.
    • The 1.135.7 user and system installers have not yet been through the automated install, launch and uninstall check that the 1.135.6 installers passed. The packaged app they contain opened its IDE, Agents and CLI windows with the sandbox on a Windows Server 2022 CI runner. Signed-in Claude Code state transitions across Git Bash, PowerShell 7 and npm claude.cmd, Codex/Gemini pane installation and startup, and the worktree commit/bring-back workflow have not received manual Windows verification.
  • Unsigned distribution: the macOS app is ad-hoc signed, not notarized; Windows installers are unsigned. The operating system may show a security prompt.
  • Jarvis shows in the switcher as coming soon.

Primal Code 1.135.6 — Primal Studio

Choose a tag to compare

Primal Studio: the IDE, the Agents window and the CLI panel, one click apart. At the first launch, Primal asks where you want to start. The new CLI panel runs Claude Code, Codex and Gemini CLI side by side in a grid of terminals. Each one can work in its own git worktree, with its changes and a task board beside it.

What you can do

  • Open the CLI panel with "Go to CLI Panel": your projects on the left, the grid in the middle, Changes and Tasks on the right. The IDE stays as it was.
  • Choose where to start. The first launch, and any launch with nothing to reopen, offers the IDE, the Agents window and the CLI panel. Press 1, 2 or 3, or click. Every window has a switcher in its title bar to go to the others.
  • Run shells in a grid of up to 16 panes. Pick a layout, drag the dividers or maximise a pane. After a reload, everything is as you left it.
  • Run Claude Code, Codex and Gemini CLI in panes. Primal finds the ones you have and shows whether each is signed in. It installs a missing one in its pane, in full view, with the CLI's official command.
  • See how each agent is at a glance. Each pane says Working (with how long), Waiting for you, or Done, in words beside a shape. The title bar counts the panes waiting for you, and a notification comes when you are in another app. After a relaunch, each CLI picks up its conversation where it can, and says whether it did.
  • Give an agent its own git worktree, on a branch you name. The Changes tab shows what it changed and the diff of each file. Commit, bring the work back to your branch, or remove the worktree once Primal has said what would be lost.
  • Keep a task board for each project. Drag a card onto an agent's pane, or use Send to, and Primal pastes it into that CLI and submits it. The card moves to Review when the agent finishes its turn.
  • Meet your Crew. Agent panes have distinct characters and poses, with state labels that remain readable across themes. Reduced motion keeps their presentation calm.
  • Control interruptions. Review panes needing attention in one queue and use Do Not Disturb when you need focus.
  • Use it on macOS, Windows and Linux. The lean CLI window has no extension host. It reads theme data without running extension code; extensions that run code continue to run in the IDE.

Known limits

  • A CLI's first question in a new folder isn't detected. A new pane says Ready while Claude Code asks whether to trust the folder. Answer it in the pane first, then hand over tasks.
  • After you interrupt Claude Code with Esc, its pane can say Working for up to a minute.
  • A shell running a bash or zsh script stays Ready while the script runs.
  • Gemini CLI with ui.dynamicWindowTitle turned off shows no states.
  • A CLI installed while Primal runs, into a folder added to your PATH after Primal started, is found once you restart Primal.
  • A reload during an install doesn't resume the install. Start it again from the pane.
  • A new worktree has only the files git tracks. Untracked files such as .env are not copied into it.
  • If an agent switches branch in its worktree, Primal still names the branch it made.
  • A closed worktree pane's folder has no Remove button. git worktree remove <folder> in a terminal removes it.
  • The same folder added twice, once with a trailing slash, becomes two projects.
  • Tasks: reordering cards within a column, and queueing a card for a busy pane, are not there yet.
  • Windows:
    • Claude Code reports no session, so after /clear a relaunch resumes the conversation from before it. On macOS and Linux it follows /clear.
    • Both user and system installers passed installation, sandboxed IDE/Agents/CLI launch, and uninstallation on Windows Server 2022 CI runners. Signed-in Claude Code state transitions across Git Bash, PowerShell 7 and npm claude.cmd, Codex/Gemini pane installation and startup, and the worktree commit/bring-back workflow have not received manual Windows verification.
  • Unsigned distribution: the macOS app is ad-hoc signed, not notarized; Windows installers are unsigned. The operating system may show a security prompt.
  • Jarvis shows in the switcher as coming soon.

Primal Code 1.135.5 — sci-fi motifs, session characters, and honest agent setup

Choose a tag to compare

Four motifs recut as science-fiction film shots, session characters that come alive, and agent setup that tells you the truth.

Four motifs, recut as film shots. Galaxy, Contours, Orbit and Horizon are redrawn on the GPU, each as one shot from a science-fiction film: a spiral galaxy seen at an angle (Deep field), a holographic mountain range with a scan beam sweeping through it (Terrain scan), a ship's navigation display locking onto a moon (Navigation), and a black hole whose glowing disc crosses its own shadow (Event horizon). Like Earth, each is drawn only in your theme's own text colour at varying strength, so it suits every theme and never depends on a second colour. Pick one from the Motif row on the Start page. Earth is unchanged. On a machine without WebGL2 these four stay off and the plain background remains.

Sessions have characters. Each session in the Agents window is now a small flat character with cut-out eyes. It blinks and looks around at rest, nods while working, asks for attention when it is waiting on you, cheers once when it is done, and turns into an exclamation mark when something fails. It looks toward your pointer, sits up when selected, and shows a dot when there is something unread. The row still says the state in words. Animation pauses while the window is in the background or the row is off screen, and follows your reduced-motion setting. This also fixes 1.135.4's black disc where the session faces should have been.

Agent setup that tells the truth. Primal Start no longer marks model setup complete just because a key is saved: it waits until an agent actually offers models, recognises both Claude and Codex, and keeps a way to manage providers in reach until models appear.

Also.

  • Reopening a Codex conversation brings back its plans and tool results, failures included, in their original order.
  • A narrow chat box no longer cuts off the model name. Session rows show their status first and say Completed when a session is done.
  • Motifs cost less: the globe skips repainting frames that have not changed, and a motif that keeps running over its time budget settles to a still frame instead of holding the interface back.

Installers for macOS (Apple silicon), Windows (x64, user and system setup) and Linux (x64) are attached below. They are unsigned: on macOS right-click the app and choose Open the first time; on Windows choose "More info" then "Run anyway". On Linux use sudo apt install ./PrimalCode-linux-x64.deb (Ubuntu, Debian), sudo dnf install ./PrimalCode-linux-x64.rpm (Fedora, RHEL, openSUSE), or PrimalCode-linux-x64.tar.gz for anything else.

Primal Code 1.135.4 — dictation with your own key, a cleaner globe, and a readable / menu

Choose a tag to compare

Voice works with the key you already have, the globe behaves, and the / menu is readable.

Dictation with your own key. Press the microphone in the chat box, speak, press it again, and the words land in the input. It runs on your own OpenAI or Google key — the same one you added in Settings — and nothing goes anywhere else. Anthropic has no speech service, so with only a Claude key the microphone stays out of the way; the Settings page now says which keys also power dictation. When something goes wrong you are told in a sentence: the key was rejected, the provider is rate-limiting, the service is down, the take was too long. Your key is decrypted only in the app's main process and never appears in a message.

The globe, without the shadow. The grey cloud behind the Start page and the Agents landing is gone: the motif was painting its ambient wash twice on a stage. On those two stages the globe now keeps turning, with a visible pause control right there, instead of easing to rest after five seconds; everywhere else it still settles.

A / menu you can read. Typing / in the chat box now groups what it offers — commands, skills, plugins, MCP tools — with short labels and a one-line summary each, instead of one long unsorted list of full identifiers.

Sessions have a face. Each session in the Agents window gets a small drawn avatar, derived from the session itself, whose expression follows its state: ready, working, waiting on you, done, failed. State is carried by shape and words, never by colour alone.

Updates arrive sooner. The app now checks for a new release when a window regains focus (if the last check is more than twenty minutes old), so a release published while you were away is offered within minutes rather than hours.

Also. Voice controls that could never work in this build are no longer shown.

Installers for macOS (Apple silicon) and Windows (x64, user and system setup) are attached below. They are unsigned: on macOS right-click the app and choose Open the first time; on Windows choose "More info" then "Run anyway".

Linux (x64), added 24 September. The same build, now packaged for Linux: PrimalCode-linux-x64.deb for Ubuntu, Debian and their relatives (sudo apt install ./PrimalCode-linux-x64.deb), PrimalCode-linux-x64.rpm for Fedora, RHEL and openSUSE (sudo dnf install ./PrimalCode-linux-x64.rpm), and PrimalCode-linux-x64.tar.gz for anything else. It runs on Ubuntu 20.04, Debian 10, Fedora 36, RHEL 8 and newer. Saved API keys go into your desktop keyring (GNOME Keyring or KWallet).

Primal Code 1.135.3 — a guided first run, motifs on, and a way to report problems

Choose a tag to compare

The first thing a newcomer meets is now a guide, the motif is on, and a failure has somewhere to go.

A first-run guide on Primal Start. Three quiet steps, shown only until they are done: pick a vibe (or keep Basalt), connect a model, start. The second step reads reality rather than asking: an existing Claude Code login is detected on its own ("nothing to set up"), configured providers are listed by name, and "Add a provider..." opens the key manager. Each step states its state in a word. No account, no sign-in, nothing sent anywhere. Primal Code: Show First-Run Guide Again brings it back.

Motifs you can find, and see. Motif: Choose Motif... in the command palette lists every motif with a live preview; a MOTIF row sits under VIBE on Primal Start. The globe is now on by default and eases to rest within five seconds, so nothing moves for longer than that without you asking. The stage behind the Start page and the Agents window's landing is stronger than before, and the motif now paints in the Agents window too.

Report a problem from inside the app. Help › Report a Problem builds a report — version, system, theme, vibe, motif, the names of configured providers, and the log tail with your home directory folded and anything credential-shaped redacted — and opens a GitHub issue with it filled in. Primal Code: Copy Problem Report puts the same text on the clipboard. No key or token can appear in it. Help › Documentation and a Documentation button on Start open the new docs at primal-code-site.vercel.app/docs.

The core loop no longer fails silently. Picking a model the current session cannot run now says so in the input, with one-click fixes (switch session, choose a model, retry loading models) instead of an Enter that did nothing. The session-target picker shows on an empty session. A worktree merge that hits conflicts names the files.

Also. Wireframes, a surface-consolidation proposal and a usability protocol live in primal/design/wireframes/ for the redesign work ahead.

Installers for macOS (Apple silicon) and Windows (x64, user and system setup) are attached below. They are unsigned: on macOS right-click the app and choose Open the first time; on Windows choose "More info" then "Run anyway".

Primal Code 1.135.2 — 161 themes, a gallery, and live motion

Choose a tag to compare

Six themes became a hundred and sixty-one, and the IDE started to move.

161 themes, 59 families, 23 of them light. The catalogue is no longer hand-picked. A theme is now generated from a small specification — a plane, an ink, a register — and every one of the 161 passes the same readability gate: WCAG contrast on every text surface, a floor between every pair of ANSI colours, and semantic colours (error, warning, added, deleted) placed on a lightness ladder that stays distinguishable under protanopia, deuteranopia and tritanopia simulation. The 140 newest carry "(unreviewed)" in their name until a human has signed them off; the six original vibes and the fifteen corpus families are unchanged.

A theme gallery. Cmd+K Cmd+G opens every colour theme the window has as a searchable grid. Arrow through them to preview; Escape puts back the one you had. Each card carries a readability verdict computed live — as a word and a glyph, never a coloured dot — so a theme installed from anywhere is held to the same standard as ours. Paste a base16/base24 palette or a colour-theme JSON to import it; nothing is ever fetched.

Live themes. A motif layer animates the ground behind the workbench: a rotating globe, a starfield, breathing contour lines, a wireframe horizon, orbiting bodies. One animation loop per window, a fixed 640×360 buffer whatever your display, and a scheduler that parks the motion when the window is unfocused, on battery, when the system runs hot, or while you type. Motion settles after a few seconds unless you ask it not to. Every motif is a single ink at varying alpha — no motif carries a hue, by construction and by test. On Primal Start the globe is large; behind the editor it is a quiet strip.

For colour-blind users specifically. Every theme's semantic colours are separated by lightness, not hue. The 161 families are checked for distinctness under the worst of four observers, so two themes that differ only in a hue some users cannot see are refused. The vibe picker and settings now say "current" and light/dark in words.

Also. The account and Codex icons no longer overlap in the Agents window title bar. The Agents sidebar can be opened up to show every agent, plugin and skill. Fable 5.1 and Fable 5 are distinguishable in the model list.

Installers for macOS (Apple silicon) and Windows (x64, user and system setup) are attached below. The Windows installers are unsigned, so SmartScreen will ask you to confirm on first run.

Primal Code 1.135.1 — BYOK agent engine

Choose a tag to compare

Primal Code now looks like its own product — and speaks in its own name.

The Deck — Ctrl+Cmd+D (Ctrl+Alt+D on Windows/Linux) hides the side bar and panel, keeps the chat, and fills the editor with a console: the agent's live output stream, real machine telemetry, and a spectrum driven by per-core CPU and the agent's output rate. Nothing on it is faked — there is no audio visualizer. Now Playing reads Spotify or Apple Music on macOS and never launches a player.

A new mark — a monochrome P with a prompt-triangle counter, on every surface: app icon, the empty-editor watermark, the Agents window.

Its own voice — 275 places where the product described itself as VS Code now say Primal Code. Genuine references (the VS Code keymap, extensions built for VS Code, documentation links) are kept honest.

Vibes — six whole-IDE themes (Ink, Basalt, Tide, Dusk, Fern, Ridge). Ctrl+Cmd+. cycles them; Cmd+K Cmd+V opens a picker with live preview.

New chrome — no left icon rail, pill tabs, floating slabs, our own icon set and typography.

Primal Start and The Rig — a start page and a home console showing your projects and agent activity.

Atmosphere — a truthful boot readout and an ambient wallpaper layer generated from your theme.

Update notices — the app tells you when a newer build exists. One plain request; nothing about you is sent.

Agents — chat and coding agents on your own keys: Anthropic, OpenAI, Gemini, DeepSeek, Kimi, GLM, MiniMax. An existing Claude Code sign-in works with zero setup.

macOS and Windows installers are both built from this release.

Codex SDK 0.146.0

Choose a tag to compare

Repackaged @openai/codex 0.146.0 per-target tarballs, consumed by Primal Code's agent SDK downloader.

Claude Agent SDK 0.3.220

Choose a tag to compare

Repackaged @anthropic-ai/claude-agent-sdk 0.3.220 per-target tarballs, consumed by Primal Code's agent SDK downloader.