Changelog

What a team can do, one delivery at a time. Written rather than generated, so it carries the things that change what a team can do rather than every change that was made.

14 September 2026

crewbit

Every row is now guarded by the database itself: a request from you, and a connection from the machine you run this on, each run under an identity that can only reach the organisations they belong to.

Changed

  • Until today the product was the only thing between one organisation's data and another's. Those checks were there and they were right, but all of them were in the code, so a single query written without its filter would have been answered rather than refused. Now the refusal is underneath: every table carries a rule, and a request for a row outside your organisations comes back empty no matter what the code above it asked for or believed
  • Nothing you do changes. A page answers what it answered yesterday, and so does the command line. The work that legitimately has to see across organisations, the scheduled pass over your tracker and the deliveries that arrive from it, runs under a separate identity marked for that and nothing else. What changed is what a mistake above the database can do: where one could have returned another organisation's rows, it now returns none

Projects →

A change you started with "Code it" that stopped to ask you something now carries on the moment you answer.

Fixed

  • The answer was recorded, and then nothing happened with it. The change sat where it was, saying it was waiting for you, after you had already replied, and the only way out was to press "Code it" again and pay for the work from the beginning. Answering is the go-ahead now, so the work picks up from the question with what you wrote in front of it. Answering twice still starts it once, and a change that came through a plan you approved is unaffected: its own button is still the go-ahead there

Watch a run →

A comment you leave on a pull request Crewbit opened now does what it says: a question gets a reply on its own thread, a suggestion gets applied, a change request gets coded, and none of it counts against the change's fix rounds.

Changed

  • Whatever a reviewer wrote, the only answer was to send the whole change back through a round of coding. A question got a commit or silence, never a reply; a suggestion block was re-implemented by hand instead of applied as written; an approval did nothing at all. The four are now told apart and each leads somewhere different, so answering a question costs a sentence rather than a round of a model's time and your money
  • A round spent on review no longer counts against the fix rounds, which are there for work that failed its own tests. One that only answered questions leaves the change where it was, and one that touched the code goes back through the review the way any change does
  • Your comments also arrive when you write them, from wherever the change has got to, rather than only while it sits waiting for you. Several left in one sitting are picked up together, in one pass, instead of one round each

Watch a run →

A change whose branch fell behind your main branch while it was being reviewed is rebased in a second, instead of being sent back through a whole round of work to do the same thing.

Changed

  • Anything merged while a review was running left that review's branch behind, and the only answer was to refuse it and start the coding over: a round of a model's time and your money, to do what git does on its own. The machine you run this on now does the rebase itself, with no model involved at all, and the review carries on from where it was. A rebase that hits a real conflict stops the run, shows what git said, and leaves the button to try again
  • It also catches a branch that falls behind after the pull request is open, which is where most of them fall behind: while the checks are running, or over the days it sits waiting for you. The change is rebased where it stands, the pull request never moves, and the checks then run once more against what your main branch actually holds now, so an approval means the change passes on today's code rather than on last week's
  • The machine you run this on has to be at 0.12.0 or later. One older than that is never handed the rebase at all, so it cannot start a model on it: the change waits, the page says which version it needs and which ones you have connected, and everything else that machine is doing carries on as before

Install the runner →

A pull request whose commits carry no closing keyword is titled after its first substantive commit, where it had been taking the last one.

Changed

  • Titling it after the commit that closes the issue only works when a commit closes the issue. Where the keyword sits in the pull request body instead, there was nothing to find and the title fell to whatever was committed last, which is usually a test or a tidy-up: a change that rewrote a set of rules arrived on a main branch announced as a test. The first commit that is not a test, a tidy-up or a documentation edit is what names it now, and the pull request says which commit the title came from whenever it had to fall back

Watch a run →

The plans now differ in something other than how much you can have: the hourly sweep of your tracker runs on Team and Enterprise, and not on the free plan.

Changed

  • On the free plan an issue reaches Crewbit when GitHub delivers it, which is immediately for a repository you have connected, or when you open the page and press a button. What it no longer gets is the hourly pass that goes looking on its own. Nothing you have already connected stops working, and no issue becomes unreachable; the difference is whether anything looks for it while you are not there
  • The fix-round limit and what a round may spend now come from your plan rather than from a number compiled into the product, and they are the same on every plan today. A repository that sets its own budget still overrides both

See the plans →

The rules Crewbit puts in your repository are less than half as long, and each step of a run is told its job rather than walked through a procedure.

Changed

  • The three files under .claude/rules/ said what to judge and then explained at length how to go about it. They now say what to judge and stop. Planning, coding and reviewing are the same: each is told its role and what it owes, where it used to be handed a procedure that also restated the rules it had already been asked to read
  • Nothing about the shape of what you get moved. The same plan headings, the same verdict and the same question, under the same names, so anything you have built on top of them reads exactly as it did

Baseline rules →

The runs that were sitting at "Waiting to be planned" without anybody having asked for them are gone from the list.

Fixed

  • Yesterday's change stopped new ones appearing; these are the ones already there, one for each open issue, none of which had ever run anything. They are deleted rather than marked as stopped, because a run that was stopped is a different thing from one that never started, and counting the second as the first leaves a number every later reader has to be told to ignore. A run with any work against it is untouched

Watch a run →

13 September 2026

crewbit

Planning an issue with a long discussion, or one in a project with several finished runs behind it, works again.

Fixed

  • Since earlier today, pressing "Plan it" on an issue whose thread had grown, or on a project with enough finished work to learn from, answered a server error and left the run saying "planning" with nothing running. Everything a round is given was handed over in a single database write, and past a certain size that write was dropped rather than refused, which is why it failed silently and only on the larger issues. It goes over in pieces now

Watch a run →

A round that takes longer than an hour can still deliver. Its credential for your repository is renewed while it works, instead of lapsing under it.

Fixed

  • The credential a round checks out with lasted an hour, and a round that ran longer than that was refused at the moment it went to push: every turn already paid for, the work finished, and nothing to show for it. Three rounds lost that way today alone. The renewal now arrives before the old credential lapses, carried on the same heartbeat the round was already sending

Watch a run →

A repository with a lockfile and no Prepare command is told so on its settings page, before a review fails for want of the dependencies.

Changed

  • The field always said most trees need nothing, which is true and was the wrong thing to read in front of a tree that needs something. Where a lockfile is present and no command is set, it now names the lockfile it found and says the review will run without dependencies installed. The advice is the same advice, given at the moment it applies rather than after a round has been spent finding out

Projects →

A pull request is now titled after the commit that closes the issue, so squashing it from GitHub keeps that commit's type instead of losing it.

Changed

  • The title used to be the issue's, which reads as a problem rather than as a change. GitHub's squash merge takes the pull request's title as the commit subject, so a change that had been committed as a fix arrived on your main branch as a sentence describing a bug, with nothing left to say what kind of change it was. The title is the closing commit's subject now, and where that commit carries no type, the pull request says so rather than leaving you to notice later

Watch a run →

A repository that names no test command can now be reviewed. The review judges the change against your acceptance criteria and says plainly that no check ran.

Fixed

  • The run used to stop and ask for a command to be set, or, worse, fall back to one configured on the server for somebody else's repository and fail the change on it. Neither happens now: the review runs, it is told no check ran, and its verdict rests on the criteria rather than on a command that was never yours. Setting a command still gives the review a check to read, and is still the stronger position

Projects →

The runs list holds only work somebody started. An issue arriving from your tracker is read and left alone until you press a button on it.

Changed

  • Syncing an issue used to create a run for it, so every issue in the repository turned up on the list at "Waiting to be planned" whether anyone wanted it worked or not, and the list stopped being a list of what is happening. Issues are still read as they arrive, and still show their buttons; what they no longer do is occupy the list before you have asked for anything

Watch a run →

A run stopped by its own check or by a push that did not land can be started again from its page, instead of being told what happened and left there.

Fixed

  • Where the stop came from the machinery rather than from the agent giving up, the page replaced the button with a sentence explaining it, which left the one thing worth doing with no way to do it. "Code it again" is there for both now, and the card that says why the run stopped tells a check or a push apart from the agent's own account of it

Watch a run →

A machine running several jobs at once now lists all of them, where it showed one and a full bar.

Fixed

  • The Runners page drew a single row per machine however many jobs it had taken, so a machine with four slots in use looked like a machine doing one thing and running out of room for no visible reason. Each job it holds is its own row now

Install the runner →

A round no longer finishes with nothing to show because it started your test suite in the background and stopped to wait for it.

Fixed

  • A round is one session, and it is over the moment the agent stops typing: nothing wakes it up later for a command still running. An agent that launched the suite in the background and then waited ended the round there, with the work committed and no result to report, and the next round started over. It is now told there is no wake-up, so a command whose answer the round needs runs in the foreground, however long it takes

Watch a run →

Starting an issue in a repository that has no rules files now refuses with the reason, instead of leaving the run sitting at the start with nothing able to move it.

Fixed

  • The check for the rules files ran after the run had already been created, so the refusal arrived too late to stop it existing: the run was left saying "Waiting to be planned" forever, and nothing anybody pressed would move it. The check now runs before the run is created, so either the run starts or you are told why it cannot

Baseline rules →

A run's Pipeline card no longer shows the pull request as a step still waiting to happen once the pull request is already open.

Fixed

  • The card drew the pull request as one of the steps a run works through, and that step never lit up on any run, including ones already finished and merged: the pull request is opened for you rather than worked through, so nothing was ever going to light it. Somebody reading the card to answer "where is this run" was reading a step that could not be reached as one that had not happened yet

Watch a run →

A run's page says what its last step spent against the budget it was given, where it had been showing nothing at all.

Fixed

  • It drew turns against a ceiling, and once the ceiling became a spending budget there was no ceiling left to read, so it drew nothing. It shows the spend and the budget that step ran against. A run started before budgets existed still shows the turns it took, with no limit beside them, because there is no longer one to compare them to
  • A step whose cost was never reported shows no figure at all rather than $0.00, which would have read as a step that was free instead of one nobody has a number for

Watch a run →

A review whose check could not run no longer fails the change and spends a round fixing nothing.

Fixed

  • A check that never started, because the tool it needs is not installed in the checkout, used to read exactly like a check that ran and found the change wrong: the review failed it and the next round went looking for a fault that was not there. The run now stops instead and names the Prepare command to set, which is the one thing that fixes it

Projects →

The button that sends an issue straight to code is now called "Code it", and says which step it starts.

Changed

  • It was "Run it", which named no step and left you guessing whether it planned first. "Code it" sits beside "Plan it" and the pair now reads as the choice it always was

Watch a run →

The Checks section on a pull request stops dropping the first character of a dotted path, and stops calling a test missing when the pull request body is where it was named.

Fixed

  • A path beginning with a dot, `.claude/rules/testing.md` and its like, lost that dot and read as a file nobody could find. It is shown whole now
  • A test named in the pull request body rather than in a commit counted as one that was never written. Both places are read, so a change is judged on what it actually says

Watch a run →

A run's actions no longer cut the last button off the side of a phone screen.

Fixed

  • The row kept every button on one line whatever the width, so on a narrow screen the last one, usually "End run", sat past the edge with no way to reach it. The row wraps now, the same way the issue page's own buttons already did

Watch a run →

What used to need the page can now be driven from a terminal, with the current binary: start an issue, answer a question it is waiting on, end a run, ask for another review, or push a queued one to the front.

Added

  • `crewbit spec code` starts an issue on the fast path, and `crewbit run cancel`, `run judge` and `run now` end one, ask for another review, and move a queued one up. Each prints the run as the page reads it, so the two never disagree about what just happened
  • `crewbit run answer` records the answer a run is waiting on. The next round you start is what reads it, rather than the answer restarting one on its own, which is exactly what answering on the page does

Watch a run →

An issue whose blocker was already closed before you connected the repository can now be started.

Fixed

  • It was refused for having a blocker "nothing has synced yet", and went on being refused, because the blocker had been closed before there was anything here to record it closing and so nothing was ever going to arrive and change the answer. The blocker's own state is now read from your tracker, and one that is already closed counts as done. A blocker that is genuinely still open holds the issue back exactly as before

Watch a run →

An issue or a run whose text carries a horizontal rule now opens, instead of failing with a platform error.

Fixed

  • A line of three dashes on its own put the page into a loop that never ended, so the request was killed on its resource limit and the browser was handed an error page rather than anything to read. It now draws the rule and carries on. An issue already written with one opens on the next visit, with nothing to re-run and nothing to edit out of it

Watch a run →

12 September 2026

crewbit

A check that was cancelled, timed out or never concluded no longer counts as one that passed.

Fixed

  • Only a check that succeeded, was skipped or came back neutral now counts in favour of a change. Anything else stops the run and names the check, instead of letting the change through on a result nobody actually has. A check that ran and genuinely failed still opens a fix round, as it did before
  • A run waiting on checks now gives up after six hours rather than waiting for as long as they take, and says that waiting is why it stopped

Watch a run →

A run waiting on its pull request's checks no longer reads as a failure on the list.

Fixed

  • It showed in red as "no job dispatched", which is the badge for work that should be moving and is not, so a run that was healthy and simply waiting looked like one that had broken. It now says it is waiting on checks, and names which ones it is waiting for

Watch a run →

The independent review now reads the pull request's own checks before it calls anything a pass.

Added

  • A pass that your repository's own checks contradict is turned back into a fix round, and the failing check names travel into what the next round reads. The verification on the machine that wrote the code still runs and still has to pass: the checks are read beside it, never instead of it

Watch a run →

A run that stopped and needs you now says why in a sentence, with the one action worth pressing next.

Added

  • The page names what stopped it in plain words, whether the fix rounds ran out or the plan was refused before it reached you, and offers a single action instead of a row of buttons you have to choose between

Watch a run →

A project now sets what one round of planning, coding or review may spend, in dollars, instead of a count of turns nobody could price.

Changed

  • Three budgets sit on the project's own page, one per kind of round, and a round that reaches its budget stops and says so. The defaults clear the most expensive round we have measured with room to spare, so a project nobody configures behaves as it did

Projects →

A plan that only touches paths you listed in advance no longer waits for you to approve it.

Added

  • A project can name path patterns standing for work you have already decided is safe, a lockfile bump or a configuration file. A plan whose every affected file matches one of them goes straight to code, and the independent review still judges the result. The list is empty until you fill it, so nothing changes until you opt in

Projects →

A new plan now reads what this project's own earlier merged changes decided, rather than starting from the issue alone.

Added

  • What already landed in the same project is part of what the next plan is written against, so a decision taken once is not quietly retaken a different way the next time something touches it

Watch a run →

8 September 2026

crewbit

A run stopped at the turn limit with nothing to judge now opens its partial pull request, and can be pressed to continue.

Fixed

  • "Code it again" now works on a run that skipped the plan and stopped partway through; the next round picks up on the same branch with what it already read, instead of asking for a plan that was never written

Watch a run →

7 September 2026

crewbit

An issue's own page no longer breaks its "Run it" or "Plan it" label into two lines.

Fixed

  • On a narrow screen the buttons now drop under the status badge together, instead of a label wrapping mid-word

Watch a run →

When the automated work hits a real fork, it now asks on the run's own page instead of guessing or stopping cold.

Added

  • A round that finds two plausible readings, or a plan that needs a decision only you can make, parks with a form right there on the page; answer it, press "Code it again" or "Plan again", and the next round reads your answer

Watch a run →

The Specs page no longer clips a status badge or a long title.

Fixed

  • A status badge could cut off mid-word and a title could run into it; both now show in full, and the source name truncates first when a row is tight on room

Watch a run →

6 September 2026

crewbit

An issue written with its own Fact, Decision, Acceptance criteria and Tests can now skip the plan and go straight to code.

Added

  • A "Run it" button sits next to "Plan it" wherever the issue already has all four sections; pressing it goes straight to a pull request, with each acceptance criterion checked for testability before anything is written. "Plan it" still works on every issue either way

Watch a run →

A branch that fell behind or broke the build is fixed automatically instead of reaching a reviewer.

Fixed

  • The pull request now runs a set of checks on the branch first; one that's behind its base, or whose check now fails with something the base didn't already have, gets another round instead of a pull request nobody could review

Watch a run →

The plan now shows the acceptance criteria the change will be judged against.

Fixed

  • Approving a plan means approving the specific outcomes the code and the review are held to, quoted from the issue - the other half of why a sentence that's an instruction rather than an outcome no longer counts as one

Watch a run →

The pull request that adds the baseline rule files opens with just those three files now.

Fixed

  • It used to also write a test alongside them, which touched a file the plan never named and got the whole pull request refused; that round now writes exactly what the plan adapted and nothing else

Baseline rules →

The review no longer fails a change over a sentence of the issue nobody wrote as a criterion.

Fixed

  • It used to check a change against every sentence in the issue, so an instruction like "read the release notes first" could fail a change that was otherwise correct; it now checks only the acceptance criteria a person already approved in the plan

Watch a run →

A pull request opens as soon as the code is done, not once the automated check passes.

Fixed

  • The check now runs on the open pull request itself, posting each round's verdict there, and a person approves at the end; a round that ran out of turns but still produced something opens one too, marked partial, instead of a branch nobody but you knows exists

Watch a run →

Work still queued for a run that already moved on is cancelled instead of running later.

Fixed

  • A code round or an automated check left queued behind a run that got approved, parked, or otherwise moved on could still fire later against work nobody wanted any more, tying up your only runner slot the whole time

Watch a run →

A run's page no longer runs off the right edge of the screen on a phone.

Fixed

  • The row of tabs across the top didn't scroll on its own, so it pushed the whole page wider than the screen; the top bar and the branch name are back inside the frame

Watch a run →

A transcript no longer carries your repository's own file contents off the machine that holds them.

Fixed

  • That was 96% of what a transcript cost to send, store and read - update to the latest runner to get it

Install the runner →

A change in progress no longer wastes turns retrying a command that was never going to be approved.

Fixed

  • This is also what lets the pull request that adds the baseline rule files write them in the first place

Watch a run →

A fix round or a retry after a rate limit now always starts fresh, instead of resuming a conversation that may already be out of date.

Fixed

  • This holds regardless of which runner version is connected, since the service itself no longer offers a session to resume

Watch a run →

The work a runner does can no longer see the connectors or MCP servers of the account it signs in with.

Fixed

  • Update to the latest runner to get it

Install the runner →

A runner no longer resumes a conversation from a workspace that's already gone.

Fixed

  • That could burn a whole five-hour usage window without finishing anything - update to the latest runner to get it

Install the runner →

Approving a change that was planned again no longer gets stuck on the branch its earlier attempt left behind.

Fixed

  • That branch is cleared automatically now, instead of needing someone to delete it by hand before the new plan could proceed

Watch a run →

Connecting a GitHub installation now asks you to confirm before anything is connected.

Changed

  • The page returning from GitHub shows the account and the repositories it reaches, with a Connect button - it used to record the installation immediately

Connect GitHub →

5 September 2026

crewbit

An oversized message from one runner can no longer slow things down for everyone else.

Fixed

  • It's refused outright now, before anything tries to read what's in it

Install the runner →

A repository attached to one organisation can no longer be taken over by another.

Fixed

  • Any organisation whose own installation could reach the same repository could previously attach it and inherit what was already configured on it

Create a project →

A runner's identity now belongs to its own organisation.

Fixed

  • Another organisation could previously take over an offline runner's identity and act under its name

Install the runner →

A checked-out repository can no longer make your runner run commands of its own.

Fixed

  • Update to the latest runner to get it

Install the runner →

After signing in, you are only ever sent to a page on this site.

Fixed

  • A crafted sign-in link could previously send you somewhere else right after you signed in

Sign in →

A runner can only report on the work it was actually given, never on anyone else's.

Fixed

  • This closes a way one connected machine could interfere with another's work, including across organisations

Install the runner →

A test that was already failing on a repository's own main branch no longer stops a change from being reviewed.

Added

  • The pull request says which failures it saw were already there, right next to the usual test output - update to the latest runner to get it

Install the runner →

The pull request that adds the baseline rule files now opens the moment they're written, instead of getting stuck behind a check that had nothing of its own to test.

Added

  • It no longer matters whether a repository's own tests already failed on its main branch before Crewbit ever touched it - that had nothing to do with three new files, and won't hold this pull request back

Baseline rules →

The three baseline rule files are explained in a guide on crewbit.sh now, instead of an in-app page that assumed you'd add them yourself.

Fixed

  • The sidebar link and the one on the sources page both go straight there, and the old in-app page redirects there too, so a saved link still lands somewhere useful

Baseline rules →

Every issue now opens its own page, instead of stopping at the row that names it on the list.

Added

  • The full body, its status, labels and who filed it, a link back to it where it lives, what it's waiting on, every run it's had, and the record of everything Crewbit has read and decided about it - the same Plan it button the list already offered is right there too

Watch a run →

The attach dialog now lists only repositories not yet attached to any project, instead of offering one already in use as if picking it would move it here.

Fixed

  • Moving a repository is detaching it, then attaching it where it belongs; when everything reachable is already attached, the dialog says so and points at Providers, where a missing repository gets added to the installation

Create a project →

Creating a project or attaching a repository past your plan's limit now disables the button and says how to get a bigger plan, instead of showing a bare error page.

Fixed

  • The reason sits right under the button: which plan you're on, how many you already have, and that a bigger plan is arranged by writing to hello@crewbit.sh

Create a project →

Work paused for a rate limit can now be resumed right away, instead of waiting for the reset to arrive on its own.

Added

  • A "Run now" button appears next to the wait time, on the work's own page and in the list, and it's safe to press more than once

Watch a run →

The Getting started checklist now says exactly where the baseline-files issue stands, instead of just pointing at Sources to go find out.

Added

  • It reads "Plan waiting" with a button straight to it while your approval is pending, and "Pull request open" with a button to it once one exists, naming how many other repositories are in the same shape rather than hiding them

Watch a run →

4 September 2026

crewbit

A runner that dropped off without a goodbye no longer keeps its slot on the plan, so reconnecting with a new one isn't refused for a machine that's long gone.

Fixed

  • A restart on our end used to leave a stale connection counted as live indefinitely; it now stops counting after about a minute and a half of silence, the same window used to decide a connection is truly gone

Install the runner →

Attaching a repository that's missing the three baseline files now makes Crewbit open an issue and plan it for you, instead of leaving you to add them by hand.

Added

  • You read the plan the same way you would for any other issue, and once you merge the pull request it opens, this step of getting set up closes on its own

Watch a run →

Every status an issue can be in now says what it means, not just its own name, on hover anywhere it appears and written out on the issue's own page.

Fixed

  • "Ingested" used to say nothing to someone new; it now reads "Waiting to be planned", in the same colour a status waiting on you already used elsewhere

Watch a run →

Crewbit now tells you a repository is missing the three baseline files before you try to plan an issue from it, instead of refusing with a page of error text after the fact.

Added

  • A new step in Getting started, a status on each source's own page with a Check again button, and 'Rules missing' in place of 'Plan it' on an issue whose repository needs them

Watch a run →

The list of issues keeps its Plan it button reachable on a phone now, instead of scrolling it off the edge of the screen.

Fixed

  • The title reads in full at every width instead of getting squeezed down to its first few words, with the repository, labels and author giving way first as the room gets tighter

Watch a run →

3 September 2026

crewbit

An issue the hourly sweep already picked up can still be planned from the list, instead of showing no way to act on it.

Fixed

  • The list and the issue's own page both keep a Plan it button once it's been picked up, instead of only offering one for an issue nobody has looked at yet

Watch a run →

Removing one of what a repository does for your team now asks first, instead of acting the moment you tap it.

Added

  • Undo an accidental removal with the small Add button that appears right there, instead of re-attaching the whole repository

Create a project →

While your team is still getting set up, every page that would normally send you somewhere else now sends you to the Getting started checklist instead.

Added

  • Signing in, connecting a provider, and creating or attaching your first repository all land on the checklist while any of its five steps is still open, instead of scattering you across whichever page happened to hold the next one; attaching a second repository, and everything once your team has finished all five, is unaffected

Create a project →

Crewbit is usable on a phone now: the sidebar becomes a menu you tap open, instead of staying pinned at full width on a screen with no room for it.

Added

  • Below 720px the app collapses to one column, page titles wrap instead of overlapping their buttons, and a table scrolls inside its own card instead of squeezing a column to nothing

Create a project →

The sign-in page is centred on the screen now, instead of sitting at the top with empty space below it.

Fixed

  • It stays centred and readable on a phone too, where the sentence under the name used to run past the edge of the screen

Sign in →

The Runners page now shows how to install the runner before asking you to run it, instead of assuming it's already on your machine.

Fixed

  • The install command and a link to the full guide sit ahead of the run command, which carries the token you just minted the moment there is one, and the page settles on one empty state instead of stacking two

Install the runner →

Connecting a provider now takes you straight to creating your first project, instead of leaving you on the settings page with nowhere obvious to go next.

Fixed

  • Creating a project can attach its first repository in the same step, and Runners, Stats and Baseline rules stay out of your sidebar until a project exists for them to be about

Create a project →

New organizations now see a Getting started checklist: five steps from connecting a provider to your first pull request, checked off as you go.

Added

  • A sidebar entry and a card on the pages each step leads to track connecting a provider, attaching a repository, connecting a runner, planning your first issue, and opening your first pull request, and every one of them disappears the moment your team has done all five

Create a project →

Uninstalling the GitHub App now disconnects it here too, instead of leaving Crewbit still connected.

Fixed

  • Removing the App from an account on GitHub removes the connection the moment GitHub reports it, rather than leaving a stale one behind for someone to notice and remove by hand

Connect GitHub →

Signing in with nothing connected now sends you straight to connect a provider, instead of opening to empty lists everywhere.

Added

  • Every page but the one that connects a provider redirects there until your organization has one, and that page now leads with the invitation to connect instead of waiting behind a small button in the header

Connect GitHub →

The primary button's label is readable in light mode now, instead of black text on orange.

Fixed

  • The sign-in button, and every primary button in the app, uses the same light-and-dark-aware color the site's own already did

Sign in →

The sidebar keeps your project in view even when an action refuses, and remembers which one you had open.

Fixed

  • A refused action no longer redraws the sidebar as if you had no project. Opening a page with no project named in the address reopens the one you were last looking at, instead of jumping to whichever happened to have the newest activity

Create a project →

Removing a project, or renaming a connected repository, now shows right away instead of taking up to a minute to catch up.

Fixed

  • A removed project stops listing immediately, and a repository renamed or re-identified answers under its new name at once, both without waiting for the page's own cache to expire

Create a project →

Detaching a repository now stops the runs its own issues are still on, instead of leaving them stuck with nothing to finish them.

Fixed

  • The detach confirmation names each run of that repository's issues that is still going, and detaching it cancels every one of them the same way the cancel button does

Create a project →

Removing a project no longer refuses just because a run is still in progress.

Fixed

  • Removing a project now cancels whatever run is still going and removes the project in the same step. The confirmation lists exactly what goes with it, and the card disappears on its own instead of the whole page reloading

Create a project →

Crewbit no longer needs a label to bring an issue in, and stops writing one back.

Changed

  • Opening an issue on GitHub, pressing Plan it on the issues list, or crewbit spec plan all start tracking it. No label is required, and none is written back to mark it

Watch a run →

Installing the runner is now one line: curl https://crewbit.sh/install | bash puts it on your PATH.

Added

  • The install script works out your machine, downloads the matching binary from the latest release, and places it, with nothing to clear by hand afterward: a file curl downloads carries none of the quarantine mark that made macOS refuse a browser download without an extra step

Install the runner →

An issue opened or edited on GitHub now shows up here right away, held for you to plan, instead of on the next periodic check.

Added

  • Opening an issue starts tracking it as soon as GitHub reports it, and editing one re-reads the body the same way, both without waiting for the next check

Watch a run →

A repository doing a job that belongs to a different one can now be corrected from its own page, not by asking us to edit the database.

Added

  • Each connected repository's own row on the sources page lists what it actually does for the pipeline, one at a time, and something it holds by mistake can be removed right there

Create a project →

An issue closed on GitHub now frees whatever was waiting on it right away, instead of on the next periodic check.

Added

  • Closing an issue unblocks every issue depending on it as soon as GitHub reports it. Reopening it puts the dependency back

Watch a run →

A pull request now appears ready for review only after the automated check has passed, never as a draft waiting on somebody to promote it.

Fixed

  • The pull request opens once the check has run and passed, not the moment the code is written. A failing check goes back for another round instead of leaving an unreviewed draft behind, and a pull request GitHub refuses to open parks the run for a person rather than losing the work the check already did

Watch a run →

A run no longer offers to redo work that already said it needs a person to decide something.

Fixed

  • Rerunning the code is hidden once its own last word was that it cannot proceed without a person, instead of pointing at a button that would run into the same wall. A round that only ran out of time, or failed for an unrelated reason, still offers it

Watch a run →

Work paused by a usage limit now picks back up on its own once the window resets.

Fixed

  • A run stopped because the engine underneath hit its usage limit now waits for the reset, instead of sitting idle until somebody notices and retries it by hand, up to several days later

Watch a run →

Merging a pull request now finishes its run right away, instead of waiting for the next check.

Added

  • A merged or closed pull request ends the run it belongs to as soon as GitHub reports it, instead of only on the next periodic check

Watch a run →

Work that finished and passed its check before running out of time is no longer thrown away.

Fixed

  • A round cut off for running too long is now judged by what it actually delivered: code committed with a passing check moves on to review, instead of stopping with nothing to show for it

Watch a run →

The issues list now shows who filed each one.

Added

  • An Author column on the issues list, filled in even for an issue Crewbit has never synced yet

Create a project →

A run now shows exactly what each part of the work was given, and what the next part would get.

Added

  • A Context tab on a run: what each finished part of the work received, and what a fresh one would receive right now, including anything left out to fit the size limit

Watch a run →

A project with two repositories connected now plans each issue against the one it actually came from.

Fixed

  • A second repository connected to a project used to inherit only what the first repository had left unclaimed. An issue on the second could silently open work against an issue of the same number on the first instead, closed issues included. Each connected repository now works fully on its own

Create a project →

A code round no longer runs against a branch that already fell behind its base.

Fixed

  • A round is held instead of started when its branch is behind its base, with the reason on the run and in its history, naming the branch and how far behind it is. Rebasing or deleting the branch clears it

Watch a run →

An issue closed where it lives, by hand or another way, no longer holds every issue waiting on it.

Fixed

  • An issue found closed on its next sync is read as unblocked right away, whether or not it ever ran here to completion. The only way out used to be editing the dependency by hand

Watch a run →

The transcript now shows what a tool answered and what the model was thinking, instead of an unlabeled line.

Fixed

  • A line the transcript could not name now shows a tool's own output or the model's reasoning when that is what it was, instead of just "other"

Watch a run →

2 September 2026

crewbit

Opening a run's issue tab no longer times out after many syncs.

Fixed

  • The issue tab read everything said on the issue twice on every open; enough activity on one pushed the page past its time limit and it failed to load

Watch a run →

An issue closed as already done no longer holds every issue waiting on it.

Fixed

  • An issue that depends on one closed because the work was already there reads as unblocked, the same as one a run finished normally

Watch a run →

A repository new to Crewbit no longer hits a dead end on its first run.

Added

  • A "Baseline rules" page carries the exact text a run checks a repository for, at the paths it expects, linked from the sidebar and from the refusal itself

Create a project →

The dependency reading between issues, announced yesterday, now reaches every project, not only ones connected since.

Fixed

  • An issue that depends on another, still-open one holds instead of being planned early, on projects created before this shipped as well as after

Watch a run →

A credential can now read and act on your work from the command line, with the same token the runner already connects with.

Added

  • crewbit project list and crewbit project view show which projects a credential's org owns and what each is bound to
  • crewbit spec list and crewbit spec plan show the issues a project is offering and start planning one
  • crewbit run view shows a run's state, how long it has been there, its history and how much it reported

Watch a run →

A project's card now says which capabilities a repository is missing, not just how many.

Fixed

  • A source missing some of what Crewbit can ask of a repository now names which ones, instead of just a count

Create a project →

A run closed because the work was already done no longer shows up as still in flight.

Fixed

  • A run closed as already implemented stops counting among what is in flight, on the runs list, the project list, and where the first open project is chosen

Watch a run →

The command shown for connecting a runner now matches what the download actually accepts.

Fixed

  • Copying the command from the runner's credentials page connects it, instead of printing usage text and doing nothing

Install the runner →

A run whose review already closed no longer waits forever for one that will never come.

Fixed

  • A run stuck waiting on a review stops waiting once that review has closed, instead of sitting there with nothing explaining why

Watch a run →

1 September 2026

crewbit

Moving a repository into an organisation already at its source limit is refused, the same as attaching a new one would be.

Fixed

  • A repository moved in from another organisation's project now counts toward the limit on the way in, instead of skipping it

Create a project →

A pull request marked ready for review no longer silently stays a draft.

Fixed

  • When GitHub refuses to take a pull request out of draft, that now surfaces as a failure instead of being reported as done

Watch a run →

A gap that could let one organisation act on another's project is closed.

Fixed

  • Attaching a repository, renaming a project, or editing its commands now always confirms the project belongs to your organisation first

Create a project →

Crewbit is open. Anyone can create an account.

Added

  • Signing up no longer needs an invitation

Sign in →

A project you no longer need can be removed, not just abandoned.

Added

  • Removing a project deletes everything under it in one confirmed step: the repositories attached to it, its issues, and their full run history

Fixed

  • Removing a project no longer refuses when every one of its issues is already finished

Create a project →

Ending a run now actually ends it.

Fixed

  • The "End run" button no longer answers with an error: a run waiting for approval closes right away, and a run in progress stops on its runner's next check-in

Watch a run →

A blocker you already mark between two issues on GitHub now means something here too.

Added

  • An issue that depends on another, still-open one holds instead of being planned early

Watch a run →

31 August 2026

crewbit

The runner went from something you built from this repository to something you download.

Added

  • A binary for macOS and Linux, published with every release, so installing the runner is a download and one command

Install the runner →

29 August 2026

crewbit

GitHub becomes a connection your organisation owns, separate from anybody's personal token.

Added

  • Crewbit reaches your code through a GitHub App your organisation installs. Nothing depends on one person's token now, so somebody leaving does not take the pipeline with them

Fixed

  • A pull request GitHub refuses no longer strands the work that earned it

Connect GitHub →

Plans became real, and every screen that can reach a limit says how much of it is left.

Added

  • A free plan and a Team plan above it, and every screen that can reach a limit says how much of it is left

See the plans →

28 August 2026

crewbit

A project became something you configure, rather than something configured for you.

Added

  • A project says which repositories it uses, which branch each one builds from, what Crewbit writes back to them, and which label starts the work
  • A repository is chosen from the ones Crewbit can see, instead of typed and hoped for
  • Issues can live in one repository and the code in another
  • The plan you are being asked to approve is on the screen that asks, rather than somewhere you have to go and find

Fixed

  • A repository that gets renamed is followed instead of going quiet
  • Work that arrives while everything is busy starts the moment a machine frees up, rather than waiting for the next sweep

Create a project →

27 August 2026

crewbit

Watching a run replaced waiting for one.

Added

  • A run opens on whatever it is asking of you, and every other tab answers what it was asked
  • A timeline of what happened, and what each part of the work left behind

Fixed

  • Why a run stopped is shown whole, instead of trailing off
  • A credential somebody revoked says so in the log, rather than failing quietly

Watch a run →

26 August 2026

crewbit

Crewbit stopped being one person's install. Everybody signs in, and everybody sees their own work.

Added

  • Everybody signs in with their own account, and adding a new way to sign in is a setting rather than a release
  • An account sees the work of the organisation it belongs to and nothing else, and a machine is offered only that organisation's work
  • The plan reads as a document, rather than as the text something produced

Sign in →

The program you install keeps a history of its own, and it ships beside the binary rather than living here. That one moves for reasons this page would not mention, like a message that reads better or a failure that finally says what went wrong.

One binary, and the Claude Code you already have.