Start it any way
Run now from the web UI, a UTC cron schedule with presets, an HTTP call with an Idempotency-Key, your chat client over MCP, or propr automation run from CI.
ProPR 0.9.0 · October 2026
ProPR 0.9.0 is the largest release since the first public version. Agents take on standing objectives, recurring work runs on a schedule, agent containers get a tighter network and credential boundary, and ProPR reaches you on the desktop, in the browser's notification tray, and in your chat client.
New
A task answers one request. A goal keeps a coding-agent session working toward an objective until it is done, and you stay in the loop the whole way.
New
An automation is a saved prompt that ProPR runs as an isolated task. Each run writes a Markdown report, and you decide whether that report turns into work.
Run now from the web UI, a UTC cron schedule with presets, an HTTP call with an Idempotency-Key, your chat client over MCP, or propr automation run from CI.
The agent reads the selected repositories, the web if you allow it, its input files and up to five previous reports, then writes Markdown. Report runs never commit or push.
Dry run is the default. Preview + approve waits for your approval; Auto acts at once. The acting step works only through ProPR's MCP tools and cannot merge, deploy, change settings, or trigger or approve runs.
How Automations work · Automations guide
New
Small, clear changes skip the plan. New Task sends one instruction straight to implementation with the repository's settings.
New
Agent containers get a tighter boundary on what they reach and what they change. ProPR creates every branch, commit, push and pull request itself.
Optional, and off by default. Restricted mode starts the agent container with no network. Its only route out is a per-run proxy on the worker that allows the agent's model provider, GitHub, npm and PyPI, plus the hosts you add. It needs no elevated container privileges.
Set the mode and allowed hosts in Settings, and enforce restricted mode across the instance if you want. Repositories choose their mode and extra hosts under network: in .propr/workflow.yml; enforcement overrides a repository's open.
Each restricted run lists every denied host, with attempt counts, on the task timeline. A missing allowlist entry is one look away.
Implementations, follow-ups, /fix, reviews, goals and indexing runs. Plan generation runs on the open network. Restricted mode needs a Linux Docker host, and Antigravity CLI falls back to open mode, or is refused when restricted mode is enforced.
If ProPR cannot read the network policy, the run fails. If the worker stops, its restricted containers lose network. The allowlist matches hostnames, so an agent still reaches any allowed host it holds credentials for.
Implementation, follow-up, review-fix and direct-goal agents get a read-only GitHub token, and the repository's Git data mounts read-only. Orchestrating goals keep write access to drive their issues.
Execution safety documentation
New
Two optional files in .propr/ let a repository own its workflow. ProPR reads them from the base branch, so every change to them goes through review.
.propr/workflow.yml runs your commands around the agent: after_create, before_run, after_run and before_remove. Add an instructions file, validation commands that ProPR runs and reports after the agent exits, preview types, and a repository-wide limit on parallel tasks.
The same file sets the repository's network mode and allowed hosts, a per-run spend cap, and its auto-merge policy. An invalid file fails the run before the agent starts.
.propr/pr-template.md shapes the title and body of the PRs ProPR opens, with placeholders such as {{issue_number}}, {{model}} and {{cost}}. Without one, ProPR appends the repository's GitHub PR template.
propr init scaffolds both files with comments, and propr repo validate checks the template locally. Repository workflow · PR templates
New
Four controls bound what an unattended run costs, how long it hangs, and what merges without a person.
The auto_merge block in .propr/workflow.yml decides whether ProPR arms auto-merge and with which method. A PR that touches a protected path, or anything under .propr/, waits for a human merge. When ProPR cannot read the policy or the diff, it skips auto-merge and says so on the PR.
Cap a run's estimated cost per task, per repository or for the whole instance. At the cap ProPR stops the run, publishes its partial work, and notifies you in the Inbox and on the PR.
ProPR stops an agent that goes silent for 10 minutes, 30 during a running tool call, or streams empty output, and publishes its partial work. Before, a hung agent held its worker slot until the 24-hour timeout.
When a worker dies mid-task, ProPR starts one replacement with the same agent and model, continuing from the pushed branch. A transient provider error gets up to two replacements by default. Rate limits and credential errors never trigger one.
Redesigned
One row per task, with status, agent, duration and review score. A run-count chip sums up earlier runs, so a long PR history takes one line.
/fix, /review and /ultrafix appear only on a task's newest finished run, so an old command can't be replayed.
New
Every task is assigned through the issue or pull request behind it, so ProPR and GitHub always agree on who owns the work.
The Tasks screen shows assignees and filters by Assigned to me, Unassigned or chosen people. propr task list --assignee me and MCP list_tasks take the same filter.
Per repository, ProPR assigns each pull request when its work completes, to a default assignee or the source issue's author, and can request their review. It never removes an existing assignee.
With the gate on, an assigned pull request starts follow-up work only from its assignees' comments. Unassigned PRs, failed-CI follow-ups and the Ultrafix loop are unaffected.
Goals, plans, automations and to-dos also show who created them. How assignment works
New
An extension profile gives Claude Code and Codex task runs a chosen set of MCP servers and skills. Select one on New Task or an automation.
Add a remote MCP server, discover its tools, and allow the ones the agent may call. Write servers need the run's explicit write authorization.
Bearer tokens stay encrypted in ProPR. The agent reaches each server through a per-run gateway that closes when the run ends.
Import skills from a GitHub repository or an archive. ProPR pins the commit and digest and mounts them read-only. Every profile edit is a new revision.
New
The desktop app runs the ProPR web UI in a sandboxed window and connects to one or more ProPR instances.
New
ProPR events land in one Inbox, and the ones you choose reach your phone or desktop as push notifications.
/fix and x clear an item and open the next; j and k step through.
New
ProPR 0.9.0 ships an authenticated MCP server at https://<your-instance>/api/mcp. Turn it on in Settings and set the scope ceiling.
Each connection goes through a consent screen with a repository picker, and optional scopes start unchecked. Connected apps lists every grant with its repositories and last use, and revokes it in one click.
Ask what is running and what needs you. Create and refine plans, launch goals and tasks, run automations and approve their next step, review pull requests with the models you pick, fix selected findings, and resolve merge conflicts. Search and read code in granted repositories without cloning.
Long operations return receipts that move from accepted to running to a final state. A work overview joins tasks with their PRs, reviews and checks in one call.
Docs tools search the documentation bundled with your release, so answers match the version you run. A settings finder tells you where each setting lives.
The MCP Log records tool names, outcomes and timing. Arguments and result bodies stay out of it.
Agents, clones and task state stay on your server. Requested results travel to the chat client and its model service, as any chat answer does.
New
A plan is a working document, and now it keeps its past. ProPR stores the plan before every generation, refinement and edit.
New
Review UI changes by looking at them. The agent captures the changed screen, and ProPR posts it on the PR. How visual previews work
The agent captures images or video only when the change shows up on screen, using the repository's own tools: Playwright, Storybook, a browser or an emulator. Follow-up commits get fresh media.
Previews publish as GitHub attachments, so they render in the pull request. Task and goal pages show them in a zoomable gallery.
With Connect Plus, ProPR also keeps each full-resolution original in managed storage and links it from the PR.
New
A synthetic pool is a virtual agent and model backed by several direct agent accounts. Repositories, the planner and reviews point at the pool, and ProPR decides which member runs each task.
propr agent pool.Improved
Agent Tank shows how much subscription capacity each agent has left. In 0.9.0 it is bundled in the ProPR agent image: pick Bundled in Settings and ProPR runs it on demand with the credentials your tasks already use.
propr tank bundled switches it on from the CLI.
Improved
Reviews number merge blockers F1, F2 and optional suggestions S1, S2 across the whole PR. /fix applies the pending blockers, /fix F20 S3 S5 applies exactly those records, and /fix all applies every pending finding and suggestion. Each review ends with a copyable /fix line to trim. One malformed ID rejects the whole command, so nothing half-applies.
Pick the workflows to cancel for each repository. When a follow-up starts implementing, ProPR cancels those runs on the exact PR head being replaced, and restarts them if no new commit lands. Closing a PR uses the same policy.
Mark check-name patterns as non-blocking. Their failures stop holding up /merge, auto-merge and Ultrafix, and GitHub still shows the result.
As child PRs merge, the epic PR keeps one comment counting how many have landed, and posts a confirmation when the last one merges.
When a repository disallows GitHub auto-merge or a PR has no CI, ProPR merges the plan's PRs itself once every gate passes, and suggests the repository setting.
Ultrafix's "waiting for CI" comment updates in place: it becomes the next review, or the stop notice if CI never settles.
Updated
Claude Opus 5.5 is the new default. Claude Fable 5.1, Sonnet 5.5 and Haiku 5.5 join the catalog, and the plain fable, sonnet and haiku aliases select them. Older models move behind the legacy fold.
GPT-6 Astra is the new Codex default. GPT-6.1 Sol, GPT-6 Sol and GPT-6 Luna join the catalog.
One entry per model with a separate reasoning selector: Gemini 3.8 Flash (the default), Gemini 4 Argon (recommended for planning and review), Claude Sonnet 5.5, Claude Opus 5.5 and GPT-OSS 120B. Gemini 3.1 Pro is retired, and its label runs on Argon. Goals run through resumable conversations.
GLM 5.3 and GLM 5.2 join Mistral Medium 3.5 and run with the same Mistral credentials. Devstral configurations move to Mistral Medium.
Big Pickle becomes the default, and the free lineup adds Muse Spark 1.2 and 1.3, Nemotron 3.5 Lightning, and Ling 3.0 Flash Fin.
Every agent image ships an updated, pinned CLI: Claude Code 2.1.293, Codex 0.160.0, Antigravity CLI 1.4.0, OpenCode 1.18.31 and Mistral Vibe 2.25.8.
Redesigned
The dashboard now opens on Needs attention: failures and decisions waiting on a human. Happening now shows running tasks and goals with their current step and last output. Completed groups finished work, and earlier updates load on demand.
Back up the database and .env, then update the CLI and restart the stack. The CLI pins every service and agent image to its release.
npm install -g [email protected]
propr start --restart
Launcher installs pull the new propr/launcher image and restart. The maintenance guide covers backups, pinning and rollback.
propr check --verify reports it when it is missing.