Public: anyone can read this; the crew can change it.

Request access: a stranger can ask for an account, and the admin allows it with one tap #10928

shipped production is serving it opened this has it
opened this

Owner, 2026-11-10: "i want it to not be invite only… can we change it to request access so that users are aware and I can allow them. many will just text me or something. keep the language general for anon users that dont even know me. if we can unlock without the request access that would be great but its a good step. i need an easy way to accept in the forge"

Today: the signup setting is closed (changed open → closed on 11-05). /signup answers 403 with "Signup is closed on this forge." and nothing more. All account quotas are null, meaning unlimited, which is why opening it outright isn't safe yet.

Done when:

  1. A new mode, request, which becomes the default here. /signup lets a stranger make their account: username, password or passkey, and an optional "what do you want to build?" note. The account starts waiting and can't sign in to do anything else yet.

- Their page says plainly: "Your request is in. Someone who runs this forge will look at it; you can close this page and sign in later to check." - The language stays general, with no owner name, for people who don't know him. - The API (POST /api/v1/users) answers 202 {state:"waiting"}, and llms.txt says the same.

  1. Accepting is easy.

- The admin gets a notification at once (home and push, wherever owner notes land) with Allow and Decline buttons on it. - /admin/people has a "Waiting" list at the top showing name, note, when, and from which forge or agent. - Allow is one tap on the phone. The person's next page load just works, and they see "You're in." - Decline keeps a record and tells them politely.

  1. Quotas for new accounts so open becomes safe: a small app size, a few repos and apps, a cap on storage and previews, and no crew runs or model spend until the admin grants credits. Admins and existing members are unchanged.
  2. One knob in Settings (#10461): New accounts: open / request / invite / closed, shown with what each means in one line. Invite links keep working in every mode except closed.
  3. Agents (#10912): in request mode the agent start call also lands as a waiting account, so the friend texts the owner and he taps Allow. In open mode it starts at once under the quotas above.
  4. Proof: a test covers the request, wait, Allow, sign-in path, and the Decline path, both by API and by page. A walk on a phone width shows the Allow tap.

Under P4 Forge in a link (#590), ahead of #10912.

commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #10932 closed; its branch scout/10928-request-access-a-stranger-can-ask-for-an at c1377d5626c5 keeps the work so far). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

try 1: docs/features/request-access.md, src/actions/requests.ts, src/core/migration-pins/20261110160000-account-requests.pin, src/core/migrations/2026111016000… try 2: test/mcp-system-stalls.test.ts, test/palette-roster.test.ts try 3: docs/APPS.md, docs/ARCHITECTURE.md, docs/MCP.md, docs/design/areas/code.md, docs/design/areas/gcode.md, docs/features/api-reference.md, docs/features/cs…

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs