Skip to content

Refusals

Every refusal the platform gives, whether trying again can help, and what to do.

On this page

Every refusal the platform gives, in every group of its closed union. Each has a _tag, retryable (whether trying the same thing again can help) and next (the command to run next), and no message: match on the tag. Git prints them on its remote: lines, myr check and myr status print them, an MCP tool returns them as JSON, and the verdict note holds them. The refusals about an answer's files arrive together, so one push hears about all of them.

_tagGroupRetryableExit codenextWhat to do
NotClaimedPush and claimyes75myr claim <ask>Claim the ask, then push again.
ClaimLapsedPush and claimyes75myr claim <ask>Your claim lapsed after a spell without a push: claim the ask again if it is still open.
NotVouchedPush and claimno77myr statusAsk a member of the project to vouch for you.
CapReachedPush and claimyes75myr statusRead limit: for claims, release or land a claim you hold; for proposals, wait for an open one to be decided; for drafts, the proposal has had every draft round it takes; with retryAfter, wait that many seconds and try again.
AskFullPush and claimyes75myr asksSomeone else holds the claim: pick another ask.
NoAskPush and claimno66myr asksPush to the fork your claim gave you, which names its ask.
RepoBusyPush and claimyes75git pushPush again.
DirectPushPush and claimno77myr asksMain moves only by a landing: push your answer to your claim's fork.
AskBlockedPush and claimyes75myr asksWait for the asks it names to land, or answer one of them first.
DenouncedPush and claimno77myr statusThe project's vouch file denounces you: it takes no claims or proposals from you.
OutOfScopeShapeno65myr checkUndo your changes to the paths it names: they are outside the ask's territory.
TouchedJudgeShapeno65myr checkUndo your changes to the paths it names: they decide what the checks do.
WeakenedShapeno65myr checkTake the marker out; a marker without a reason may get one after -- for a maintainer to weigh, but one a maintainer declined stays out; never raise a ratchet.
PrivatePathInPublicTreeShapeno65myr checkTake the held-back paths it names out of your answer.
ReachedInternalsShapeno65myr checkImport the other module only through its public files.
StaleBaseMergeyes75git pull --rebaseMain moved: rebase onto it, resolve the conflicts it names, and push again. movedBy names the landing that last changed each conflicting path, with its author and ask: keep that change as you resolve.
StaleLayerMergeyes75myr statusNothing: the answer is checked again.
ChecksFailedChecksno65the command that reproduces the failureRun next to see the failure, fix it, and push again.
HeldBackFailedChecksno65myr statusA held-back check failed; you see only its area and suite. Fix the behaviour and push again.
AttemptsExhaustedChecksyes75myr statusWait until resetsAt: you used every attempt on that area's held-back checks for now.
FlakeNever counted against the answereryes75myr statusNothing: the check failed and then passed on the same tree, and the platform runs it again.
VerifierBlockedNever counted against the answereryes75myr statusNothing: the platform could not run the checks, and runs them again.
NotRedFirstAt ask openno65myr checkMake the ask's check fail on main by an assertion, the same way twice, then open the ask again.
WeakCheckAt ask openno65myr checkStrengthen the check: as it stands, the trivial answer weakness names would pass it.
IncompleteBriefAt ask openno65myr checkFill in the fields missing names: the ask's kind requires them.
LayerContentInPublicTreeMaintainers onlyno65myr checkTake the paths it names out: their files stay private and never enter a public tree.
SecretInOutputMaintainers onlyno65myr checkTake the write-only value of item out of the output or the tree (where), then check again.
UnstatedRequirementMaintainers onlyno65myr checkState in public what the area's held-back check holds, or take the check out of the suite.
PostureChangeDecisionno65myr todayA maintainer declined the posture change it names (from, to): take out what changes the posture; next lists the decisions.
NotDeciderDecisionno77myr statusOnly one of the project's maintainers may do this: ask one of them.
DecisionClosedDecisionno66myr todayNothing to decide: it was taken already, or expired to its default.
ProposalClosedDecisionno66myr todayNothing more is drafted for it: the proposal was accepted, declined or expired.
DraftInProgressDecisionyes75myr proposal <proposal>Wait: the platform is drafting this proposal's ask already, and next shows when it settles.
UnknownProjectLookupno66myr asksCheck the project's name: every project is listed in the index.
UnknownAskLookupno66myr asksCheck the ask's name: next lists the project's open asks.
UnknownCommitLookupno66git fetchFetch the project, then name a commit it holds.
UnknownDecisionLookupno66myr todayCheck the decision's id: next lists the decisions waiting on you.
UnknownPathLookupno66git ls-treeName a path the commit holds: next lists its files.
UnknownRevisionLookupno66git ls-remoteName main, a commit the project holds or one of its tags: next lists its refs.
UnknownProposalLookupno66myr todayCheck the proposal's id: next lists the proposals waiting on you.
ProjectExistsSetupno65myr asksPick another name: that one is taken.
NotYourNamespaceSetupno77Make the project in your own namespace: next names it with your handle.
ImportFailedSetupyes75myr initRead reason, then import again.
UnknownEnvItemEnvno66myr env shapeName a key the project's env shape has: next lists them.
NotSensitiveEnvno65myr env shapeOnly an @sensitive item holds a write-only value: next shows which items are.
ValueTooShortEnvno65myr env set <key>, with --acknowledge-short when the value is above the floorGive a longer value, or acknowledge a short one where the floor allows it.

Exit codes

myr exits with a code from sysexits(3), so a script or an agent can tell what to do next without reading stderr. A refusal's code follows from its retryable: 75 when trying again can help, else the code for what has to change, as the Refusals table lists it. A command that meets several refusals at once exits with the first of 77, 66, 65, 75 among them.

Exit codeMeans
0It did what it was asked.
1Something else went wrong; stderr says what.
2The command was misused; stderr names the flag or value, and nothing was sent.
65Refused: what you sent has to change (the answer, the ask or the value).
66Refused: what you named does not exist, or no longer stands open; next lists what does.
69No platform answered: it is down, or the URL is wrong.
75Refused for now: run the refusal's next, then try the same thing again.
77Refused: you may not do this until you sign in, or someone lets you in.