Settings and sign-in
Settings is the tab that holds the model, the terminal controls, the agent or chat switch and the browser profile. Account is the tab that holds your session. Reach for them when the terminal should behave differently, or when you need to sign out.
Quick start
Open Settings in the header. Under Model, pick a model from Available models, or type /model in the terminal. Under Terminal controls, set Fast mode, Effort and Permissions. Under Runtime, the Assistant surface card switches between the terminal and chat mode.
How it works
Model
Terminal model shows the active model and lists Available models, the same roster the terminal's /models command prints. Choose one here or with /model in the terminal. The roster is set by the server, and a model outside it is refused as MODEL_NOT_AVAILABLE.
Terminal controls
| Control | Values | What it does |
|---|---|---|
| Fast mode | On, Off | On sends /fast; Off sends /model <model> normal |
| Effort | normal, fast | Sends /model <model> <effort> |
| Permissions | ask, auto, yolo | Sets what the agent may run unprompted, the same as /permissions <mode> |
Assistant surface
The terminal is the default. The Assistant surface card under Runtime offers Switch to chat mode and, from chat, Switch to terminal mode. Your choice is remembered in this browser. When the browser has no WebAssembly JSPI the card says so and the switch is disabled, and chat mode is on.
Generation allowance
The Generation allowance row under Runtime reads the month and the day, used and limit, and both UTC reset times. See Generation allowance.
Browser profile
The Browser section holds the profile each preview runs on. The default discards the profile when the preview closes. Keep this project's browser profile keeps storage between runs. See Live preview.
Account
The Account tab has one section, Session, which says who is signed in. Sign out signs you out of Extension.dev. Signed out, it reads Not signed in with a Sign in button.
Sign-in
Every address on code.extension.dev needs a session. Signed out, the page is a door titled Sign in to Extension.dev with one button, Sign in with GitHub, and you come back to exactly the address you asked for. If the session ends while a tab is open, a prompt reads Your session expired, says the work in progress is saved on this device, and offers Sign in and continue.
While the workbench is private, only logins on its allowlist get in. A signed-out visitor sees Not available, and a signed-in login outside the list sees Private alpha.
Terminal commands the shim refuses
The terminal is a browser, so some of the agent's own commands do not apply here. Typed, each answers with the reason:
| Command | Answer |
|---|---|
/login, /logout | Accounts live in extension.dev; use the account panel |
/setup, /credits, /balance | No key needed; billing lives in your plan |
/copy, /paste | The clipboard is the browser's |
/mcp, /skills, /sandbox, /background | Need a machine, not a browser tab |
/quit | Reload the page to restart the terminal |
Reference
| Setting | Where | Also in the terminal |
|---|---|---|
| Model | Settings, Model | /model, /models |
| Fast mode | Settings, Terminal controls | /fast |
| Effort | Settings, Terminal controls | |
| Permissions | Settings, Terminal controls | /permissions <ask|auto|yolo> |
| Terminal or chat | Settings, Runtime, Assistant surface | |
| Generation allowance | Settings, Runtime | usage |
| Browser profile | Settings, Browser | |
| Session | Account, Session |
When it fails
- The Assistant surface switch is disabled. The browser has no WebAssembly JSPI. Chat mode is on. Use Chrome or Edge 137 or newer, or Firefox 153 or newer, for the terminal.
- A link with
?terminal=1still opens chat mode. A choice saved in this browser wins over the link. Switch back under Assistant surface. - A model call is refused as
MODEL_NOT_AVAILABLE. The model is not on the server's roster. Pick one from Available models. - The page is a sign-in door. Your session ended. Sign in with GitHub and you return to the same address. The draft in this browser is still there.
- The page says Private alpha. Your login is not on the allowlist yet. There is nothing to fix on your side.
Next
- Terminal for the slash commands the settings mirror
- Generation allowance for the row under Runtime
- Drafts for what a session keeps on your account