Repository navigation
Releases: pl0xuee/kvistcode
Release list
Kvistcode v0.4.0
The assistant now follows you around the app, understands “agent 2” and “project 3”, and lives in a panel you can move.
New
- Say a number. The assistant numbers your agents (the same numbers as the ⌘1–9 shortcuts) and your projects, so “open agent 2”, “stop #3” or “start an agent in project 1” works without saying names.
- It notices when you switch. Move to another screen, agent, settings section, Mission Control tab, diff review or project and the assistant is quietly told, so you never have to explain where you are.
- Go anywhere by voice. It can open a project (its most urgent agent) and a comparison group, on top of every screen, settings section and Mission Control tab.
- Move the assistant. Drag the panel by its handle to put it anywhere; Kvistcode remembers the spot. Double-click the header to put it back, or use the arrow keys on the handle.
- A better-looking assistant. Conversation bubbles, clearer actions, and a Confirm card you can't miss.
Fixed
- Billing no longer shows a misleading number. The assistant panel used to show the total the whole fleet counts toward the daily budget (subscription agents included, at API prices) as if it were spent on your key. API accounts now show what was used on that key, the daily budget is labelled as such, and the assistant panel shows its own OpenAI cost this month.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Kvistcode updates itself (Settings → About → Check for updates).
Full changelog: v0.3.3...v0.4.0
Kvistcode v0.3.3
Sub-agents show up reliably, long messages stop jumping around, and the voice assistant can do much more.
New
- The assistant knows where you are. It can see which screen and agent are open and any text you have highlighted, so “stop this one” or “what does this say?” just works. Commands that name no agent act on the open one.
- Say “commit and push” and the agent does it. The assistant sends your request to the agent as a message. You see the exact wording on the confirmation card and press Confirm first.
- More to ask for. List your projects, check usage, search what was said earlier, rename an agent (with a confirmation), mark one done, and open Usage, Schedules, Accounts, Settings (any section), Compare or either Mission Control tab.
- Mute. Say “mute”, “pause listening” or “go to sleep”, or press the Mute button. Kvistcode stops listening completely until you press Unmute.
- Billing at a glance. Each account now says whether it runs on a subscription (with how much of each usage window is left and when it resets), API billing (with what is left of today's budget) or a local model. It shows in the inspector and in the assistant. Providers don't let an API key read a prepaid balance, so for API billing the figure is your daily budget.
- A clearer Confirm. When the assistant waits for your OK, the panel says so and shows large Cancel and Confirm buttons right under the header.
Fixed
- Sub-agents started in the background were sometimes missing from the list and from the sub-agents count, including in older conversations.
- A long message no longer flips between a short and a long layout while an agent is working; once you open it with “Show more” it stays open.
- A long status label in the agent list no longer runs past the edge of its card.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Kvistcode updates itself (Settings → About → Check for updates).
Full changelog: v0.3.2...v0.3.3
Kvistcode v0.3.2
Agents resume on their own after a limit resets, Kvistcode helps your subscription last longer, local models work properly, and a full review of the app fixed a long list of bugs.
New
- Agents resume by themselves. When a provider's rate limit stops an agent, Kvistcode continues it automatically once the limit resets, staggered so many agents don't start at once, with one summary notification. The banner, lists and Mission Control show “Resumes 6:00 PM” with a countdown and a Cancel link. Turn it off under Settings → Behavior → Rate limits. The phone shows when an agent will resume.
- Save tokens. Claude agents now summarize their conversation at 250k tokens by default (a long conversation is re-read at every step, which is where most usage goes; choose “Claude's default” in Settings → Behavior to turn it off). A new Save tokens panel on Usage shows what is using your tokens, with one-click fixes, and a Save tokens preset applies cheaper defaults. You can also choose the model for Claude's helper agents, cap how much command output an agent reads, tidy noisy build and test output, and turn off the hidden next-prompt prediction that cost a request per turn. Usage warns when many agents work at once on an account with little left, or when a big conversation has sat idle past the prompt cache.
- Much better local models. Local agents get a real context window instead of Ollama's 4k default (which silently cut prompts off), models without tool support are refused with alternatives named, and “Get a model” ranks downloads by what your computer can run, with a disk check. A new server panel shows version, loaded models, problems with fixes and a speed test. Local usage no longer counts against your cloud budgets. An optional setting uses a local model to condense handoff summaries.
- Updating from Armada is clean. On Windows the update replaces the old Armada install instead of leaving a second app, and old startup entries are removed on every system. The Linux .deb and .rpm replace the old package.
- The phone app keeps up. It shows “Workflow 3 of 5 running” instead of Idle or Done, search results open at the matching message, subscription costs are labelled as API-equivalent, and the confusing Resume queue button no longer appears beside a limit hold.
Changed
- New tagline: “Every coding agent, one calm place.”
- The provider's limit is now called a “rate limit”, and yours stays a “budget limit”. Settings → Agents is now “Custom agents”.
- The “everything finished” alert for a Workflow now says which agent and which workflow finished and how it ended, instead of a generic line. It comes once per run, after the run has stayed finished for a minute, so a long quiet spell in the middle no longer triggers repeats.
- Hold panels name the limit that was hit (spending, token or turn), budget fields say which limit is empty, and Markdown marks no longer show in search snippets.
- Light theme: error, warning and success colors are easier to read on tinted backgrounds.
- Small copy fixes in Accounts, Onboarding, Usage, About and the Schedule dialog.
Faster
- Jumping to a search result deep in a very long conversation does up to 6x less work.
- A hidden or tray-minimized window uses much less CPU while agents stream.
Fixed
- A message sent just as an agent crashed could vanish; it now goes back into a paused queue with a note. This also holds under heavy load.
- A long pasted draft was cut at 20,000 characters when you switched agents, and the last keystrokes were lost on quit.
- “Send now” during a turn no longer resets the turn: running sub-agents and the timer stay.
- One rendering error could blank the whole window; now only the broken row says it couldn't be displayed.
- The agent header keeps its title at 200% zoom, and the title bar's update pill no longer wraps in narrow windows.
- Markdown reference links and footnotes work, Arabic and Hebrew read right to left, and Compare shows the full answer.
- Keyboard and screen-reader fixes: focus returns after closing the Review sheet and image viewer, Space opens an agent row, IME typing is respected, and fewer announcements.
- The window now fits small screens and high display scaling, and a login launch no longer counts as “looking at it”, which had muted phone pushes and sounds.
- Pasting file paths with a “%” before non-English characters no longer crashes (Linux), update checks time out instead of hanging, and old log files are pruned.
- Security: the Preview pane's page tools only respond to Kvistcode itself,
git pushrefuses a repository remote name that looks like a command option, pairing a phone times out stalled requests, and secret scrubbing in shared text, exports and error notices covers more key formats and the Slack and Discord webhook links.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Kvistcode updates itself (Settings → About → Check for updates).
Full changelog: v0.3.1...v0.3.2
Kvistcode v0.3.1
The phone app catches up with the desktop, merging a pull request is safer, and Claude Code's Workflow runs finally show up.
New
- Workflow runs are visible. When Claude Code launches a multi-agent Workflow, a card appears in the conversation and a live “Workflow · 5 agents working” row sits above the message box. Expand it to see each agent's latest action, step count and time. It settles to “Workflow finished” when they are done.
- Turn limits. Set a maximum number of turns per agent, per project or per day, which suits subscription accounts where dollar cost isn't known. It pauses at the end of a turn like the other limits, shows a “7 / 20 turns” meter, and the count survives restarts.
- Switch skills off. For Claude agents, turn individual skills on or off, in every project or just one. Your skill files are never changed. Other providers show “Managed by …”.
- The phone app does more. It shows agents held at a spending limit and lets you raise the limit, continue once or stop; shows pull request and CI status on the agent screen; searches conversations; and can change how agents report.
- A short tour on first launch of this version covers the agent grid, the pinned dock, search and spending limits. Skip it any time; Settings → About → Show the tour brings it back.
- Issues and Open pull request are now in the command palette.
- Support links. Settings → About has a Sponsor button and a link to kvistcode.com/support. Both are entirely optional.
Changed
- No more early “Done”. When an agent's turn ends while its Workflow or background agents are still running, it now reads “Turn finished · Workflow 3 of 5 running”, counts as working, and shows “Everything finished” when the last one ends. The turn-end notification says work is still running, and a quiet second alert follows when it finishes if you are looking elsewhere. Background sub-agents are described as “may be running” because their end can't always be known. The phone app still says “Done”.
- Merging a pull request is pinned to the exact commit you reviewed. If the branch changes after you looked, nothing is merged and you are asked to review again.
- The merge dialog says “not known” when GitHub hasn't answered, instead of implying a pass, and GitHub errors read as sentences with a Copy details button.
- The Preview address bar and Back/Forward buttons now follow the page as you click links.
- Project instructions are edited in one place, Settings → Tools & instructions. The older editor under Projects now links there.
- The MCP and Skills tabs say when a change applies only to new agents.
- Small dependency updates.
Fixed
- A message sent right after an agent's process died could vanish: it stayed in the conversation but was never sent or queued, and the agent could show an error while still looking busy. It now goes back into a paused queue with a note so nothing you typed is lost.
- The pull request chip no longer overflows in narrow panels.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Kvistcode updates itself (Settings → About → Check for updates).
Full changelog: v0.3.0...v0.3.1
Kvistcode v0.3.0
Armada is now Kvistcode. Your agents, settings and sign-ins carry over, and updates keep working. This release also adds pull-request merging and GitHub issues, search across every conversation, spending limits, alerts to Slack and Discord, and one place to manage your MCP servers, skills and project instructions.
New
- New name: Kvistcode. Same app, new name and address (kvistcode.com). The command is now
kvistcode, and new agent branches start withkvistcode/. Existing agents and their branches are untouched. - Merge a pull request from the PR panel. Squash, merge or rebase, with a heads-up if checks are failing or review comments are still open. The panel also shows the base branch and whether GitHub considers it ready to merge, and can take a draft out of draft.
- Open a PR your way. Choose the base branch, open it as a draft, and start from a description that already has the size of the change and “Closes #N”.
- Work from GitHub issues. Browse a project's open issues and start an agent on one, in its own worktree with a branch named after the issue.
- Search every conversation. Press Ctrl/Cmd+Shift+F, or type
?in the command palette. It finds messages, commands, file paths and summaries, including archived agents, and jumps to the exact spot. - Tools & instructions. A new Settings page to edit
CLAUDE.mdandAGENTS.md(with a warning if the file changed on disk), manage MCP servers per project, and browse your skills and plugins. - Spending limits. Set a limit per agent, per project or per day, in dollars or tokens. When one is reached the agent finishes its turn, then waits for you in Needs you: raise the limit, continue once, or stop. A meter shows in the agent header whenever a limit applies.
- Alerts to Slack, Discord or any webhook, next to ntfy, with a switch for each kind of event and a Send test button. The addresses are stored in your keychain.
- Preview remembers its address for each project, and gets Back and Forward buttons.
Changed
- Reaching a spending limit no longer interrupts an agent mid-task. It stops at the end of its turn instead.
Fixed
- A very long command in the sub-agent bar could stretch it wider than the message box.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Kvistcode updates itself (Settings → About → Check for updates).
Full changelog: v0.2.0...v0.3.0
Armada v0.2.0
Run many agents on one project and watch them side by side, with a clearer view of what each one is doing and what needs you.
New
- Many agents, one project. Start up to 8 on the same task: they open together as full conversations in a grid that fits the window, each in its own worktree so they can't overwrite each other. Add agents in an agent's header starts more in the same project, and the sidebar is now organised by project, with a grid button to show a project's agents together.
- One Mission Control. Needs you, Inbox and Mission Control are a single view with a Needs you / All agents switch, and one count everywhere: the rail, the tabs, the window title and the menu-bar tray.
- Typing while an agent works behaves like Claude Code. Press Enter and your message goes into the turn that's running: nothing is cancelled. Queue it for after the turn, start a helper, or deliberately Stop & send from the menu next to Send. If a message can't be delivered it goes back to your queue, never dropped. ↑ in an empty box takes your newest queued message back.
- What needs you stays pinned above the message box, wherever you've scrolled: approvals, questions with one-tap answers, blockers (usage limit, error, budget cap, merge conflict), live plan progress, and sub-agents with a timer.
- Replies that read like a report. Working notes between steps are quiet and the answer stands out; long replies and code fold behind “Show more”; tables line up; a sentence split across two messages joins back together. A new setting, Settings → Behavior → How agents report (Concise by default, Balanced, Detailed), asks agents to lead with the outcome and skip log dumps. It shapes how they write, not the work they do.
- New notification sounds in three packs: Soft (the new default), Glass, and Classic (the sounds you had).
- The phone app catches up: a project-grouped agent list, a Needs-you queue with big Approve and Deny buttons, the pinned dock, adding agents, and the same reply layout and typing behaviour.
- A calmer interface. A slimmer agent header, two-line sidebar rows (with a Compact option), a live “working / need you / spend” line on the home screen, soft edges on scrolling content, a title-bar search box that stays put, stronger light-theme contrast, and tidier setup, review, accounts and comparison screens.
Faster
- With eight agents streaming, the frame rate on a deliberately slowed computer rose from about 49 to 58 fps: animations pause while the window is hidden, long replies are redrawn less often, and extra screens load one at a time after start-up.
- The first time you open the command palette or New agent is instant (it used to take about 0.8 s).
Changed
- The separate project page from 0.1.11 is gone: clicking a project folds it, and agents open on the agent page.
- “Send now” on a queued message adds it to the running turn instead of stopping the agent. For an agent that can't take messages mid-turn it says Run next and the message goes first in line.
- The “Ask” choice for what Enter does while an agent works is now “Deliver to the running turn”; nobody is asked each time anymore. If you chose Queue or Helper before, that choice is kept.
Fixed
- Stopping an agent and sending a message right away could let a stray line from the stopped reply appear in the new one.
- Answering a question or an approval a split second before the agent finished could be recorded as cancelled.
- A failed first start could make your next try fail too (“The agent process exited unexpectedly”), and a message sent while an approval was pending could reach the agent after your approval instead of before it.
- A sentence could break in two in the middle of a reply, with the second half brighter.
- Tooltips piling up when you Tab quickly, clipped focus rings, the Copy button printing over a message's last line, review buttons being live while the diff loaded, and the menu-bar “Needs you” count disagreeing with the app.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Armada updates itself (Settings → About → Check for updates).
Full changelog: v0.1.11...v0.2.0
Armada v0.1.11
New
-
GitHub, built in. A new GitHub button in the Review panel does what used to need a terminal. Sign in runs
gh auth loginin a window and then connects git to that sign-in, which is what pushes from Armada were missing (git can't ask for a password here). Push sends the agent's current branch to GitHub, never forced. Create repository & push turns the project into a new GitHub repository (setting up git and making a first commit if the folder has none, leaving out files that look like secrets such as.env), private by default. Pushes that fail for lack of credentials now say so and point to the button, instead of a bare git error. -
Start up to 8 agents at once on the same task. The home composer and the New agent dialog have an Agents stepper (1 to 8). With more than one, each agent runs in its own worktree and branch, so they can't overwrite each other, and Start becomes “Start 4”. They open together inside their project, in a grid that fits the window (4 as 2×2, 8 as 4×2; fewer columns in a narrow window, then tabs), numbered Claude #1, #2… If some fail to start, the prompt is kept and a retry starts only the ones that failed, in the same grid. It needs a git repository, and Armada tells you when the folder isn't one.
-
Projects tab. The first tab is now Projects, and the sidebar is organised by project: each folder is a row with its agents under it, a count, a “N need you” badge and a +. Click a project to see all its agents together in the same grid, with a box underneath to start more of them (1 to 8 at a time) in that project; + takes you straight to that box. Click an agent's card (or Tell it something) to select it, and the box becomes that agent's own message box, so you can tell it something without leaving the grid; New agents switches back. Open goes to the agent's conversation, and the project button at the top left of it brings you back to the grid with that agent still selected. Projects that need you come first, and ⌘1–9 follow the new order.
Fixed
- Agents that were already running still said they can't show pictures. Claude ignores new instructions when an existing conversation is resumed, so only brand-new agents knew. Existing agents now get a short note about it ahead of their next message, once.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Armada updates itself (Settings → About → Check for updates).
Full changelog: v0.1.10...v0.1.11
Armada v0.1.10
New
-
Armada brings its own Claude Code, Codex and Grok. It installs its own pinned copies in the background, uses them instead of whatever is on this computer, and keeps them up to date by itself (new releases come from the official npm registry, checked every few hours, and never wait for an Armada release). Signing in, checking an account and running agents no longer depend on your PATH, launcher scripts or installed versions. A new Settings → Agent tools page shows each tool's version, whether it is bundled or a system install, and has Update, Check for updates, Roll back to the version Armada was tested with, and an Update automatically switch. Every update is verified and rolled back if the tool no longer starts, and updates wait while an agent of that provider is mid-turn.
-
Agents know they can show pictures. Armada now tells Claude and Codex that their replies can embed images (
for a file in the project or a temp file they mention, or a small inlinedata:picture), so they stop saying they can't. Inlinedata:pictures (png, jpeg, gif, webp) now display on the desktop and the phone. -
Plan approval. When Claude finishes planning and asks to start coding, the plan appears as a card you can read (rendered as markdown) with clear choices: approve and auto-accept edits, approve and review each edit, or keep planning, optionally with feedback. On the desktop and the phone. Keyboard shortcuts never pick an "always allow" choice for a plan.
-
Project settings. Settings → Projects (or an agent's menu → Project settings) lets you edit a project's
CLAUDE.mdandAGENTS.md, manage its permission rules (always allow / ask / deny, shared or local), and see its hooks, custom commands and skills. -
Budgets. Set a daily cap and a per-agent cap (Settings → Budgets). Armada warns at 80% and again when a cap is hit, and can pause the agents that went over (their queued messages stay queued). The Usage view shows today's spend against the daily cap, and agents near their cap show a badge.
Changed
- A live line shows what the agent is doing. Under the last message, one quiet line says what it is working on right now ("Running
npm test", "Reading src/app.ts", "Editing 2 files", "Thinking…", "Writing…") with the elapsed time, like Claude on the web. While sub-agents run it reads "Waiting on N sub-agents"; open it to see each one's kind, description, model and effort (or what it inherits), time running and tool calls so far. The same chips show on sub-agent cards. On the phone and the desktop. - The conversation no longer jumps around. What the agent says now always stays in view: before, a message you were reading could fold into a "used 1 tool" line when the next step started, and fold back out again later, and a lone tool call popped in and out while "Waiting on N sub-agents" was showing. Only runs of two or more tool calls and thoughts fold into one line now, and what is folded depends only on the conversation itself (not on what is on screen or what the agent is waiting for), so a row never changes under you. On the phone and the desktop.
- Phone: tool calls are small. Commands and edits start collapsed, even while running or after failing: a running command shows its newest output line in its row, a failed one an "exit N" badge, and tapping opens it. The opened command and its output have a height limit and scroll.
- Command output no longer shows the markdown fence (
```console) the Bash tool wraps it in, on the phone and the desktop.
Fixed
- Codex sign-in showed a blank window. Armada ran a launcher script that re-checks for updates over the network before every start (a minute or more, then nothing). Programs are now looked up so such launcher scripts are skipped, which also speeds up GitHub (
gh) features.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Armada updates itself (Settings → About → Check for updates).
Full changelog: v0.1.9...v0.1.10
Armada v0.1.9
New
-
Agents can ask you questions. When Claude asks you to choose (its multiple-choice questions, like in Claude Code), Codex asks for input, or an MCP server needs details, the question now appears as a card in the conversation: pick options (one or several), type your own answer under "Other", fill in text, yes/no or number fields, then Submit or Skip. On the desktop, number keys pick, arrows move and Enter submits. The agent waits for you like it does for an approval: it shows Needs you, lands in the Inbox, Triage and Mission Control, and notifies you. It works from the phone too. Before, Claude's question tool was switched off in Armada and Codex's questions were answered with nothing.
-
Pictures the agent sends now show. When a model puts an image in its reply, Armada used to drop it silently. It now appears in the conversation, in order, and you can click it to enlarge (desktop and phone).
Changed
- An agent waiting on you now shows Needs you (it may be an approval or a question).
- Phone: closer to the desktop.
- Agent text renders like the desktop: nested and loose lists, task lists, tables, headings, hard line breaks, escapes, local images, diffs coloured, and basic syntax highlighting in code blocks.
- Finished work folds into one line ("Read 5 files, edited 2, ran 4 commands") with the answer kept visible; tap to expand.
- Sub-agent cards show their final report and keep showing background sub-agents as running.
- Command output is cleaned of terminal codes, and calls that never finished show as paused instead of spinning.
- The working indicator shows elapsed time and "Waiting on N sub-agents".
- Tap a file in the Done card to open its diff.
- Deny an approval with a reason, insert prompt templates in the composer, and see what happened after Commit & merge, with "Ask agent to resolve" on a conflict.
- Rate-limited agents show a usage-limit indicator.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Armada updates itself (Settings → About → Check for updates).
Full changelog: v0.1.8...v0.1.9
Armada v0.1.8
Changed
- "Send now" no longer stops the agent. For Claude and Codex agents, sending a queued message now adds it to the turn that's running, like typing into Claude Code while it works: the agent reads it at its next step and keeps going, and its sub-agents and background tools keep running. The message appears in the conversation where you sent it. To stop the turn and run the message instead, use the ⚡ Stop & send button next to it. Agents that can't take messages mid-turn show Interrupt & send.
/rcworks. Slash commands can be found by their initials, as in Claude Code:/rcfinds and runs/remote-control(continue a Claude session from claude.ai/code or the Claude app). A queued slash command's Run next puts it first in line, since commands only work at the start of a turn.
Fixed
- Phone: attaching photos works again. The phone app's security policy blocked the step that reads a picked photo, so every attachment failed with "Couldn't read…".
- Phone: Stop & send. The phone's queue gets the same ⚡ Stop & send (with a confirmation) and "Run next" for commands as the desktop.
- Phone: Commit and Commit & merge no longer report a failure when commit hooks take more than 15 seconds.
- Phone: approvals you swipe just before locking the phone are still delivered.
- Phone: a paired phone that scanned a fresh code while the computer was asleep no longer ends up back on the pairing screen; and that screen no longer flickers while it retries.
- Phone: the agent list refreshes reliably after reconnecting, and Back works in one tap after opening Review from a sheet.
- Phone: typing no longer leaves an empty band above the iPhone keyboard, and sheets (like the commit message) stay above the keyboard.
- Phone: large diffs say when they're cut short, and are cut between files instead of mid-line.
- Retried requests from the phone (start an agent, send a message) are never cut off halfway when the phone gives up waiting.
Install
- macOS:
.dmg(universal: Apple Silicon + Intel) - Windows:
-setup.exe - Linux:
.AppImage,.debor.rpm
Already installed? Armada updates itself (Settings → About → Check for updates).
Full changelog: v0.1.7...v0.1.8