Releases: PrimeIntellect-ai/prime-agent
Releases · PrimeIntellect-ai/prime-agent
Release list
Beta (v0.7.0-beta.458.1.0e0d233)
Automated beta build from main (0e0d23391bcd879f1aea70dbda4d07dda7970b34).
v0.7.0
Breaking Changes
- Changed agent messages to always use steering delivery and removed delivery-mode options from the Python, CLI, RPC, and connection APIs. Code passing
modetoagent_message.send, or a delivery mode over the CLI/RPC, must drop it.
Changed
- Changed self-updates to report the previous and new Prime Agent versions.
Fixed
- Fixed the subagent summary showing retained children as idle while they run follow-up work.
v0.6.1
- Added reverse tab navigation to the
/loginconfiguration menu and moved the model scope shortcut toAlt+S. - Fixed daemon startup crashes hiding their exit status and daemon log until the startup timeout.
- Documented the global
idleEvictionMinutesdaemon setting, including its default, valid values, and eviction/passivation behavior (#621). - Fixed top-level
--helpomittingacpfrom the supported--modevalues (#620). - Fixed
stopandrenamebecoming prompts when--daemon-socketprecedes the command (#622). - Fixed subagent terminal notices arriving as anonymous follow-up prompts instead of attributed agent messages, so a parent can now tell which child reported completion, failure, or cancellation, and a busy parent is steered at the next turn boundary rather than waiting to go idle (#617).
- Fixed ACP mode reporting a failed turn as a clean
end_turn. A provider error, expired auth, or unusable model leftsession/promptresolving with no updates at all, which reads to a client as a successful but empty turn; the turn now fails with the underlying error instead. - Fixed ACP cwd mismatch metadata treating symlink aliases such as macOS
/varand/private/varas different directories (#623).
v0.6.0
Breaking Changes
- Changed
rlm(...)to return at task admission instead of waiting for the child to finish. It now yields a spawn handle (rlm_child_id,name,session_dir,model);RLMResultand its final answer, usage, and model-fallback warning are gone. A child reports back withagent_message.send(..., receiver_role="parent"), which arrives as an ordinary prompt and starts a parent turn. Code that readresult.answer, or treatedasyncio.gather(...)overrlm(...)as fan-in, must be updated. - Changed
agent_message.sendto role-addressed delivery: passreceiver_role("parent","sibling","child") plusreceiver_namefor siblings and children. The old positionalsend(target, message)form no longer works, and the separateroster()call is nowagent_message.list_agents(). - Narrowed agent reach to the nuclear family: an agent may message or observe only its parent, siblings, and direct children. Top-level sessions are siblings of one another, so agent-to-agent between them still works; grandchildren and cousins must be reached by relaying through the intermediate child. Users are unaffected and still see every session.
- Requesting an unavailable subagent model now fails the spawn instead of silently falling back to the parent's model with a warning.
- Bumped the daemon schema revision to 13 for the parent-edge, depth, naming, and passivation wire changes; older clients and daemons are rejected cleanly at connect.
Added
- Added
--mode acp: Prime Agent now runs as an Agent Client Protocol agent over NDJSON on stdio, driving anAgentConnectionin-process. IPython surfaces as an ACPexecutetool call carrying its cell source, and capabilities ACP has no native concept for (subagents, autonomous gate state, rich IPython output, compaction, goals, heartbeats, continual-harness refinement) travel in a namespacedai.primeintellect.prime-agent_metaenvelope that vanilla ACP clients ignore. Documented indocs/acp.md. - Added
/rlm-max-depthto view or set the recursion cap for the current chat, with--globalto change the default for new sessions. - Added recursive navigation to the agents view: drill into any session's children and back out again, with each chat showing its own depth.
- Added a family roster via
agent_message.list_agents(), listing parent, siblings, and children with name, id, depth, and status, including family members currently on disk. - Added sibling-unique agent names, enforced at spawn and rename against loaded and unloaded sessions alike. The same name may be reused at different depths.
- Added an
idleEvictionMinutessetting (default 90,offto disable) controlling idle eviction and passivation.
Changed
- Changed finished subagents to stay on disk until something touches them, so memory scales with the active frontier rather than every subagent ever spawned. Lists show them without loading them, and attach, message, or transcript read wakes them on demand.
- Changed sessions to persist their parent edge and derived RLM depth, so tree position no longer has to be inferred from whatever happens to be in memory.
- Changed the supervisor to stop worker processes whose whole session tree has been idle past the threshold, and to passivate individually idle children inside still-busy workers.
- Replaced the child-agent inspector with a single subagent summary line under the prompt that opens the agents view scoped to that session's children.
Fixed
- Fixed
stopandrenamerejecting custom daemon socket options. - Fixed SIGINT in print mode leaving the session active until liveness reclaim.
- Fixed daemon startup failing permanently when an interrupted supervisor owner directory contained only stray files.
- Fixed agents-view fallback notices and scoped live sessions surviving transient refresh failures across chat returns.
- Fixed stopping completed subagents deleting their retained sessions.
- Fixed silent or cancelled RLM children leaving parents without a terminal status notice.
- Added missing argument hints to
/name,/model,/export, and/importin autocomplete.
v0.5.1
Fixed
- Fixed
/refinefailing with an opaque JSON parse error when the refiner exceeded a fixed 4096-token output cap; output budgets now derive from the selected model, and a truncated reply reports the exhausted budget directly.
v0.5.0
Breaking Changes
- Reworked session input scheduling into a single session action lifecycle and store (daemon protocol 7, schema revision 8); older clients and daemons are rejected cleanly at connect.
Changed
- Changed large daemon session loads to stream JSONL history and avoid retaining a second full-file copy in memory.
- Changed the agents view to render explicit session names in bold and the "(no messages)" placeholder in italics.
- Changed subagent guidance to retain reusable children and delete completed direct children once they are no longer needed.
- Changed top-level CLI help and documentation to expose autonomous mode, quality gates, and their limits.
- Changed daemon and RPC session state to report literal queued actions separately from active scheduler work.
Fixed
- Fixed the blank line between the recap and the working hint so they render directly above each other.
- Fixed compaction retaining runtime resources after an explicitly deleted subagent had a transient cleanup failure.
- Fixed long-running thinking timers to display hours and days instead of unbounded minutes.
- Fixed overlapping daemon snapshot catch-ups closing healthy workers and preventing new sessions from starting.
- Fixed active scheduler work being reported as queued in session state.
- Fixed headless runs completing before queued follow-up work had finished.
- Fixed
/compactconsuming itself as its own successor action. - Fixed daemon parse rejections dropping the command id, which left older clients waiting for a timeout instead of seeing the protocol error.
- Fixed
--goalsessions never showing the objective to the model, which made seeded goals invisible to first turns and continuations.
v0.4.0
Breaking Changes
- Replaced the recursive daemon
get_session_treeresponse with flat nodes linked byparentId(protocol 6); clients must support the new response shape. - Removed
/resumeand bare--resume; browse sessions with left-arrow from a daemon chat, or use--resume <session-id|path>for a direct resume.
Added
- Added
ctrl+nto start a session from Agents View, andalt+enterto queue a reply as a follow-up while Enter steers a streaming session. - Added session-owned
/compact,/refine,/goal, and/autonomouscommands with autocomplete to the Agents View reply composer, plus target-scoped/nameand/killcommands. - Added optional stable session names and initial prompts to
/new.
Changed
- Changed collapsed edit and IPython calls to show compact per-file line-change summaries while retaining full expanded diffs.
- Changed bare
/effortto open a selector of the current model's supported reasoning levels, and removed token estimates from reasoning-effort displays. - Improved session search ranking to prefer exact session-name and first-message matches before prefix, substring, and transcript fuzzy matches.
Fixed
- Fixed deeply nested
/treesessions overflowing the daemon serializer by transferring and rebuilding the session tree iteratively. - Fixed
prime-agent agentsopening a new chat for a process-local session. - Fixed daemon startup after an interrupted supervisor leaves an empty ownership directory.
- Fixed
/effort xhighand/effort maxbeing rejected before a model is active. - Fixed IPython tracebacks emitting ANSI color codes.
- Fixed selected rows and selectors becoming nearly invisible on terminals whose background matches the selected theme color.
- Fixed startup waiting on private Prime Inference model authorization by caching authorization locally and refreshing stale entries in the background.
v0.3.3
- Removed the bundled orchestration heartbeat skill from the model system prompt.
- Fixed feature hints crowding queued messages and side questions by placing them below the recap and hiding them while messages are queued (ENG-4741).
- Fixed
/btwtruncating long answers by rendering side questions in the scrollable transcript. - Changed selection cursors from
→to›across model selectors, scoped-models, and the theme default for consistency with tree and user-message selectors. - Changed the queued follow-up hint connector from
↳to╰─to match the tool-execution continuation connector. - Changed
/contexttree connectors from├/└to├─/└─to match the tree selector and session picker. - Changed the IPython cell queued marker from
▸to◇to match the subagent and context-tree status icons. - Changed slash-command autocomplete to separate argument hints and resource provenance, show only the selected command description, and summarize hidden results directionally.
- Fixed cancelled extension commands remaining alive when spawned processes ignored SIGTERM (#458 by @snimu).
- Fixed OAuth browser launch URLs being interpreted by the system shell.
- Added agent-callable
refineskill so the model can schedule continual harness refinement from IPython viaawait refine.run()without blocking the current turn (#504 by @sethkarten). - Changed long live session opens to render a bounded recent transcript tail while preserving full prompt history (#343 by @sethkarten).
- Changed
/refineto run planning in the background so the conversation is not blocked during the LLM pass (#497 by @sethkarten). - Added serialized headless refinement and
--goal/--goal-token-budgetfor seeding durable session goals (#514 by @sethkarten).
v0.3.2
- Fixed invalid
--resumesession IDs being submitted as prompts, with nearest-session guidance instead (ENG-4722). - Changed
/modelto show all public models with authenticated providers first and open provider authentication when an unavailable model is selected (ENG-4575). - Changed the shared configuration menu to cycle tabs with Tab, use Shift+Tab for model scope, show an Escape close hint, preserve arrow-key search editing, and remove the model selector's provider shortcut.
- Fixed searchable selectors retaining their previous scroll position after the query changed.
- Changed interactive, print, JSON, RPC, piped-stdin, and no-session clients to use the same daemon-owned runtime while preserving their existing commands, output protocols, and lifecycle behavior (ENG-4685).
- Added RPC controls for schedules, heartbeats, agent messaging, and live session observation (ENG-4685).
- Fixed daemon-backed headless startup, rollback routing, RPC wire compatibility, and duplicate client runtime preparation (ENG-4685).
- Fixed heartbeat-owning subagents appearing completed, showing completion checkmarks below the prompt, being omitted from active subagent counts, or remaining visible after deletion.
- Fixed the heartbeat tray and manager showing heartbeats from unrelated sessions.
- Fixed daemon backpressure triggering redundant catch-up snapshots for events already queued by the socket.
- Added dedicated stable and beta installers, with stable advancing on version bumps and beta advancing on every commit to
main. - Fixed incompatible daemon builds crashing startup or respawning after shutdown, with capability negotiation, verified provenance, and convergent force shutdown (ENG-4687).
- Changed tool-result and announcement images to show compact metadata instead of terminal graphics (#437 by @snimu).
- Changed top-level CLI help to show concise common options and commands without loading runtime resources (ENG-4688).
- Fixed completed subagents cancelling their RLM heartbeats before the first run (ENG-4652).
- Changed the fullscreen follow shortcut from
Alt+DowntoCtrl+Shift+Downfor more reliable terminal input (ENG-4684). - Added user-requested model selection for subagents with bounded account-authorized discovery and explicit parent-model fallback warnings (ENG-4649).
- Added subtle feature hints to longer-running agent turns (ENG-4521).
- Fixed active heartbeats not resuming after Prime Agent updates (ENG-4657).
- Fixed the Agents View reordering sessions whenever prompts or heartbeats updated their activity timestamps (ENG-4650).
- Added parent-scoped subagent lifecycle APIs: create children with readable default or orchestrator-chosen names, recover running or completed children through
rlm.list_subagents(), continue them through agent messaging, and close/remove them withrlm.delete_subagent(). - Changed shell commands to use discoverable agent, schedule, package, model, session, update, doctor, and full-shutdown verbs without exposing the background daemon hierarchy (ENG-4538).
- Fixed unsupported Node versions crashing before startup by requiring Node 22.8.0 or newer and showing upgrade guidance before loading the CLI (ENG-4260).
- Added
@file-path autocomplete to new-agent and reply prompts in the Agents View. - Fixed slow daemon clients becoming stuck when newer session snapshots arrived during catch-up.
- Fixed queued messages getting stranded when an agent turn ended (ENG-4653).
- Changed
/traces upload-allto pace requests within the platform rate limit, honor boundedRetry-Afterresponses, and support interruption. - Fixed resuming a daemon-resident session to attach the requesting client to its existing worker without disturbing other clients (ENG-4656).
- Fixed daemon-owned updates terminating their updater before the daemon restart and session restore completed (ENG-4606).
- Fixed first-launch Prime login and kept onboarding visible between team and model selection (ENG-4658).
- Fixed active heartbeat sessions appearing under Needs Input or Completed instead of a dedicated Heartbeats section (ENG-4654).
- Fixed stashed prompts being lost when leaving and reopening a session from the Agents View (ENG-4659).
- Added a combined heartbeat indicator and manager for pausing, resuming, or stopping user and agent heartbeats (ENG-4536).
v0.3.1
- Added
/fastfor OpenAI Fast mode on supported ChatGPT models (ENG-4620). - Changed wrapped diff rows to use a blank hanging gutter.
- Fixed team-gated Prime Inference routes being missing from model selectors by merging the authenticated team catalog during model refresh (ENG-4645).
- Added confirmation when fullscreen text selection copies to the clipboard (ENG-4644).
- Added an agent-run edit total above the recap.
- Changed edit tool calls to always show full diffs while keeping IPython source collapsed until Ctrl+O expands it.
- Changed tool expansion hints to appear only on the latest tool row instead of every tool call (ENG-4583).
- Changed IPython kernels to set
NO_COLOR=1, preventing ANSI color escapes from inflating%%bashoutput. - Fixed update restarts starting concurrent daemon supervisors or unlinking a replacement supervisor's socket (ENG-4600).
- Fixed worker recovery races and made daemon shutdown-all converge across hidden supervisors (ENG-4603).
- Changed provider, model, and MCP setup to use one tabbed configuration menu (ENG-4539).
- Changed the shared configuration menu to show prominent, responsive tabs with configurable navigation shortcuts (ENG-4534).
- Fixed IPython edit diffs replacing syntax highlighting with a single foreground color (ENG-4616).
- Fixed Prime Inference login leaving new sessions without a persisted model selection (ENG-4573).
- Fixed empty prompt placeholders hiding the input caret.
- Fixed automatic model selection preferring other configured providers over Prime Inference's GLM 5.2 default.
- Fixed missing ripgrep blocking subagents and added actionable installation guidance for the optional search helper (ENG-4572).
- Removed the shared worker snapshot spill cache to prevent concurrent workers from deleting each other's snapshot chunks (ENG-4601).
- Fixed narrow slash-command descriptions ending abruptly or clearing the prompt background, and added a content-sized popup above the input with the same distinct surface as
/btw(ENG-4542). - Fixed snapshot transfers terminating resident workers, stranding partial readers, or rejecting identical retries (ENG-4602).
- Fixed the resume picker opening on an older session instead of the newest session (ENG-4630).
- Fixed tool-only responses rendering directly against the preceding user prompt.