[{"data":1,"prerenderedAt":78},["ShallowReactive",2],{"doc-connect":3},{"blocks":4,"markdown":77},[5,8,12,14,17,19,22,24,26,28,30,32,34,36,40,42,44,46,48,50,52,54,56,58,60,62,64,66,68,69,71,73,75],{"kind":6,"html":7},"html","\u003Cp>Every agent connects to the same place:\u003C\u002Fp>\n",{"kind":9,"lang":10,"code":11},"code","","https:\u002F\u002Fmcp.formalogic.io\u002Fmcp",{"kind":6,"html":13},"\u003Cp>\u003Cstrong>You do not need an API key.\u003C\u002Fstrong> The server uses OAuth: the first time your agent\ncalls a Forma tool, it opens your browser, you sign in with your Forma account,\nand the agent is connected. The \u003Ca href=\"https:\u002F\u002Fapp.formalogic.io\u002Foverview\" target=\"_blank\" rel=\"noopener noreferrer\">Overview\u003C\u002Fa> shows the moment it happens.\u003C\u002Fp>\n\u003Cp>You need a Forma account first. Signing in from an agent never creates one.\u003C\u002Fp>\n\u003Ch2 id=\"claude\">Claude\u003C\u002Fh2>\n\u003Cp>\u003Cimg src=\"\u002Fart\u002Fclients\u002Fclaude.svg\" alt=\"Claude\">\u003C\u002Fp>\n\u003Cp>Claude on the web and Claude Desktop use the same connector.\u003C\u002Fp>\n\u003Col>\n\u003Cli>Settings → Connectors → \u003Cstrong>Add custom connector\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Name it \u003Ccode>Forma\u003C\u002Fcode> and paste the URL above.\u003C\u002Fli>\n\u003Cli>Click \u003Cstrong>Connect\u003C\u002Fstrong> and sign in.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"claude-code\">Claude Code\u003C\u002Fh2>\n\u003Cp>\u003Cimg src=\"\u002Fart\u002Fclients\u002Fclaude.svg\" alt=\"Claude Code\">\u003C\u002Fp>\n",{"kind":9,"lang":15,"code":16},"bash","claude mcp add --transport http forma https:\u002F\u002Fmcp.formalogic.io\u002Fmcp",{"kind":6,"html":18},"\u003Cp>Then type \u003Ccode>\u002Fmcp\u003C\u002Fcode> in Claude Code, pick \u003Ccode>forma\u003C\u002Fcode>, and choose \u003Cstrong>Authenticate\u003C\u002Fstrong>.\n\u003Ccode>claude mcp list\u003C\u002Fcode> should read \u003Ccode>forma … ✔ Connected\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch2 id=\"chatgpt\">ChatGPT\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Settings → Apps &amp; Connectors → Advanced → turn on \u003Cstrong>Developer mode\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Create a connector named \u003Ccode>Forma\u003C\u002Fcode> with the URL above and \u003Cstrong>OAuth\u003C\u002Fstrong> authentication.\u003C\u002Fli>\n\u003Cli>Sign in when ChatGPT asks.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch2 id=\"cursor\">Cursor\u003C\u002Fh2>\n\u003Cp>\u003Cimg src=\"\u002Fart\u002Fclients\u002Fcursor.svg\" alt=\"Cursor\">\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"cursor:\u002F\u002Fanysphere.cursor-deeplink\u002Fmcp\u002Finstall?name=forma&amp;config=eyJ1cmwiOiJodHRwczovL21jcC5mb3JtYWxvZ2ljLmlvL21jcCJ9\">Add to Cursor\u003C\u002Fa>, or add this to \u003Ccode>~\u002F.cursor\u002Fmcp.json\u003C\u002Fcode>:\u003C\u002Fp>\n",{"kind":9,"lang":20,"code":21},"json","{\n  \"mcpServers\": {\n    \"forma\": { \"url\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\" }\n  }\n}",{"kind":6,"html":23},"\u003Cp>Cursor shows \u003Cstrong>Needs login\u003C\u002Fstrong> next to \u003Ccode>forma\u003C\u002Fcode>. Click it and sign in.\u003C\u002Fp>\n\u003Ch2 id=\"vs-code\">VS Code\u003C\u002Fh2>\n",{"kind":9,"lang":15,"code":25},"code --add-mcp '{\"name\":\"forma\",\"type\":\"http\",\"url\":\"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\"}'",{"kind":6,"html":27},"\u003Cp>Start \u003Ccode>forma\u003C\u002Fcode> from the MCP view and sign in when asked.\u003C\u002Fp>\n\u003Ch2 id=\"windsurf\">Windsurf\u003C\u002Fh2>\n\u003Cp>\u003Cimg src=\"\u002Fart\u002Fclients\u002Fwindsurf.svg\" alt=\"Windsurf\">\u003C\u002Fp>\n\u003Cp>Add to \u003Ccode>~\u002F.codeium\u002Fwindsurf\u002Fmcp_config.json\u003C\u002Fcode>, then sign in when Windsurf asks:\u003C\u002Fp>\n",{"kind":9,"lang":20,"code":29},"{\n  \"mcpServers\": {\n    \"forma\": { \"serverUrl\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\" }\n  }\n}",{"kind":6,"html":31},"\u003Ch2 id=\"codex\">Codex\u003C\u002Fh2>\n",{"kind":9,"lang":15,"code":33},"codex mcp add forma --url https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\ncodex mcp login forma",{"kind":6,"html":35},"\u003Cp>The second command opens your browser to sign in.\u003C\u002Fp>\n\u003Ch2 id=\"any-other-client\">Any other client\u003C\u002Fh2>\n\u003Cp>Give it the URL. A client that supports MCP authorization finds everything else\nitself: the server publishes its OAuth metadata at\n\u003Ccode>https:\u002F\u002Fmcp.formalogic.io\u002F.well-known\u002Foauth-protected-resource\u002Fmcp\u003C\u002Fcode> and supports\ndynamic client registration, so there is nothing to pre-register.\u003C\u002Fp>\n\u003Ch2 id=\"confirm-it-worked\">Confirm it worked\u003C\u002Fh2>\n\u003Cp>Ask your agent:\u003C\u002Fp>\n\u003Cblockquote>\n\u003Cp>Use forma_status and tell me which Forma account this session is signed in as.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>It should answer with an organisation id and a plan. Nothing but a live,\nauthenticated connection can return that — \u003Ccode>list_oracles\u003C\u002Fcode> answers identically\nfor every caller, so it cannot tell you whose account you are on.\u003C\u002Fp>\n\u003Cdiv class=\"doc-table\">\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>\u003C\u002Fth>\n\u003Cth>\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>the browser never opens\u003C\u002Ftd>\n\u003Ctd>Your client needs a restart after adding the server, or it does not support MCP authorization yet. Use an API key below\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>&quot;this account has no Forma organisation yet&quot;\u003C\u002Ftd>\n\u003Ctd>You signed in with an account that has never opened the \u003Ca href=\"https:\u002F\u002Fapp.formalogic.io\" target=\"_blank\" rel=\"noopener noreferrer\">console\u003C\u002Fa>. Sign in to the console once, then connect again\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>the tools do not appear\u003C\u002Ftd>\n\u003Ctd>Most clients start MCP servers once, at launch. Restart it\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003Ch2 id=\"with-an-api-key-instead\">With an API key instead\u003C\u002Fh2>\n\u003Cp>For a client that cannot do OAuth, or for scripts and CI, send an API key as a\nbearer token. Create one on the \u003Ca href=\"https:\u002F\u002Fapp.formalogic.io\u002Fkeys\" target=\"_blank\" rel=\"noopener noreferrer\">API keys\u003C\u002Fa> page — it is shown once.\u003C\u002Fp>\n",{"kind":37,"path":38,"label":39},"console","\u002Fkeys","Create an API key",{"kind":6,"html":41},"\u003Ch3 id=\"claude-code-with-a-key\">Claude Code with a key\u003C\u002Fh3>\n\u003Cp>Two commands, so the key is never on a command line:\u003C\u002Fp>\n",{"kind":9,"lang":15,"code":43},"read -rs -p 'Forma API key: ' FORMA_KEY",{"kind":9,"lang":15,"code":45},"claude mcp add --transport http forma https:\u002F\u002Fmcp.formalogic.io\u002Fmcp \\\n  --header \"Authorization: Bearer $FORMA_KEY\"",{"kind":6,"html":47},"\u003Cp>Pasting the key into the command itself would work, and would also write it\nverbatim into your shell history — persisted, often synced with your dotfiles,\nand readable by anything running as you. \u003Ccode>read -rs\u003C\u002Fcode> takes it from the terminal\ninstead: not echoed, not recorded. (\u003Ccode>claude mcp add\u003C\u002Fcode> still stores the header in\n\u003Ccode>~\u002F.claude.json\u003C\u002Fcode>; that part is inherent to configuring a client.)\u003C\u002Fp>\n\u003Cp>Check it registered:\u003C\u002Fp>\n",{"kind":9,"lang":15,"code":49},"claude mcp list",{"kind":6,"html":51},"\u003Cp>\u003Ccode>forma\u003C\u002Fcode> should read \u003Ccode>✔ Connected\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3 id=\"claude-desktop-with-a-key\">Claude Desktop with a key\u003C\u002Fh3>\n\u003Cp>Settings → Developer → Edit Config, then add to \u003Ccode>claude_desktop_config.json\u003C\u002Fcode>:\u003C\u002Fp>\n",{"kind":9,"lang":20,"code":53},"{\n  \"mcpServers\": {\n    \"forma\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer fk_live_…\"\n      }\n    }\n  }\n}",{"kind":6,"html":55},"\u003Cp>Restart Claude Desktop afterwards. MCP servers are started once, at launch.\u003C\u002Fp>\n\u003Ch3 id=\"cursor-with-a-key\">Cursor with a key\u003C\u002Fh3>\n\u003Cp>Add to \u003Ccode>.cursor\u002Fmcp.json\u003C\u002Fcode> in your project, or \u003Ccode>~\u002F.cursor\u002Fmcp.json\u003C\u002Fcode> for every\nproject:\u003C\u002Fp>\n",{"kind":9,"lang":20,"code":57},"{\n  \"mcpServers\": {\n    \"forma\": {\n      \"url\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer fk_live_…\"\n      }\n    }\n  }\n}",{"kind":6,"html":59},"\u003Ch3 id=\"vs-code-with-a-key\">VS Code with a key\u003C\u002Fh3>\n\u003Cp>Add to \u003Ccode>.vscode\u002Fmcp.json\u003C\u002Fcode>:\u003C\u002Fp>\n",{"kind":9,"lang":20,"code":61},"{\n  \"servers\": {\n    \"forma\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer fk_live_…\"\n      }\n    }\n  }\n}",{"kind":6,"html":63},"\u003Ch3 id=\"windsurf-with-a-key\">Windsurf with a key\u003C\u002Fh3>\n\u003Cp>Add to \u003Ccode>~\u002F.codeium\u002Fwindsurf\u002Fmcp_config.json\u003C\u002Fcode>:\u003C\u002Fp>\n",{"kind":9,"lang":20,"code":65},"{\n  \"mcpServers\": {\n    \"forma\": {\n      \"serverUrl\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer fk_live_…\"\n      }\n    }\n  }\n}",{"kind":6,"html":67},"\u003Ch3 id=\"codex-with-a-key\">Codex with a key\u003C\u002Fh3>\n",{"kind":9,"lang":15,"code":43},{"kind":9,"lang":15,"code":70},"codex mcp add forma --url https:\u002F\u002Fmcp.formalogic.io\u002Fmcp \\\n  --header \"Authorization: Bearer $FORMA_KEY\"",{"kind":6,"html":72},"\u003Cp>Same reason as Claude Code above — the key stays out of your shell history.\u003C\u002Fp>\n\u003Ch3 id=\"any-other-client-with-a-key\">Any other client with a key\u003C\u002Fh3>\n\u003Cp>The server speaks streamable HTTP. Give your client the URL and one header:\u003C\u002Fp>\n",{"kind":9,"lang":10,"code":74},"POST https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\nAuthorization: Bearer fk_live_…",{"kind":6,"html":76},"\u003Cp>Everything is behind that header — \u003Ccode>initialize\u003C\u002Fcode> and \u003Ccode>tools\u002Flist\u003C\u002Fcode> included, so an\nunauthenticated caller cannot enumerate what the server does. The one open route\nis \u003Ccode>\u002Fhealthz\u003C\u002Fcode>, which answers \u003Ccode>{&quot;ok&quot;: true}\u003C\u002Fcode> and nothing else.\u003C\u002Fp>\n\u003Cp>If your client cannot send a header, it cannot connect yet — every route except\n\u003Ccode>\u002Fhealthz\u003C\u002Fcode> is behind that header.\u003C\u002Fp>\n\u003Cp>With a key, a \u003Ccode>401\u003C\u002Fcode> means the header is missing or the key is wrong; \u003Ccode>KEY_REVOKED\u003C\u002Fcode> and \u003Ccode>KEY_EXPIRED\u003C\u002Fcode> say which. A \u003Ccode>403 ORG_DISABLED\u003C\u002Fcode> means the key is fine and its organisation is not active — see \u003Ca href=\"\u002Fauthentication\">Authentication\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"a-note-on-these-instructions\">A note on these instructions\u003C\u002Fh2>\n\u003Cp>\u003Cstrong>Claude Code is the only client tested end to end against this server\u003C\u002Fstrong>, with\nOAuth and with a key. The other clients follow each vendor's published MCP\nconfiguration as of \u003Cstrong>2026-09-28\u003C\u002Fstrong> — the shape is right, but their settings\nscreens move, and if one of these is wrong we would rather you told us than\nassumed it was you.\u003C\u002Fp>\n","# Connect your agent\n\n> One URL, sign in when asked. API keys are the fallback for scripts and CI.\n\nEvery agent connects to the same place:\n\n```\nhttps:\u002F\u002Fmcp.formalogic.io\u002Fmcp\n```\n\n**You do not need an API key.** The server uses OAuth: the first time your agent\ncalls a Forma tool, it opens your browser, you sign in with your Forma account,\nand the agent is connected. The [Overview](https:\u002F\u002Fapp.formalogic.io\u002Foverview) shows the moment it happens.\n\nYou need a Forma account first. Signing in from an agent never creates one.\n\n## Claude\n\n![Claude](https:\u002F\u002Fdocs.formalogic.io\u002Fart\u002Fclients\u002Fclaude.svg)\n\nClaude on the web and Claude Desktop use the same connector.\n\n1. Settings → Connectors → **Add custom connector**.\n2. Name it `Forma` and paste the URL above.\n3. Click **Connect** and sign in.\n\n## Claude Code\n\n![Claude Code](https:\u002F\u002Fdocs.formalogic.io\u002Fart\u002Fclients\u002Fclaude.svg)\n\n```bash\nclaude mcp add --transport http forma https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\n```\n\nThen type `\u002Fmcp` in Claude Code, pick `forma`, and choose **Authenticate**.\n`claude mcp list` should read `forma … ✔ Connected`.\n\n## ChatGPT\n\n1. Settings → Apps & Connectors → Advanced → turn on **Developer mode**.\n2. Create a connector named `Forma` with the URL above and **OAuth** authentication.\n3. Sign in when ChatGPT asks.\n\n## Cursor\n\n![Cursor](https:\u002F\u002Fdocs.formalogic.io\u002Fart\u002Fclients\u002Fcursor.svg)\n\n[Add to Cursor](cursor:\u002F\u002Fanysphere.cursor-deeplink\u002Fmcp\u002Finstall?name=forma&config=eyJ1cmwiOiJodHRwczovL21jcC5mb3JtYWxvZ2ljLmlvL21jcCJ9), or add this to `~\u002F.cursor\u002Fmcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"forma\": { \"url\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\" }\n  }\n}\n```\n\nCursor shows **Needs login** next to `forma`. Click it and sign in.\n\n## VS Code\n\n```bash\ncode --add-mcp '{\"name\":\"forma\",\"type\":\"http\",\"url\":\"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\"}'\n```\n\nStart `forma` from the MCP view and sign in when asked.\n\n## Windsurf\n\n![Windsurf](https:\u002F\u002Fdocs.formalogic.io\u002Fart\u002Fclients\u002Fwindsurf.svg)\n\nAdd to `~\u002F.codeium\u002Fwindsurf\u002Fmcp_config.json`, then sign in when Windsurf asks:\n\n```json\n{\n  \"mcpServers\": {\n    \"forma\": { \"serverUrl\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\" }\n  }\n}\n```\n\n## Codex\n\n```bash\ncodex mcp add forma --url https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\ncodex mcp login forma\n```\n\nThe second command opens your browser to sign in.\n\n## Any other client\n\nGive it the URL. A client that supports MCP authorization finds everything else\nitself: the server publishes its OAuth metadata at\n`https:\u002F\u002Fmcp.formalogic.io\u002F.well-known\u002Foauth-protected-resource\u002Fmcp` and supports\ndynamic client registration, so there is nothing to pre-register.\n\n## Confirm it worked\n\nAsk your agent:\n\n> Use forma_status and tell me which Forma account this session is signed in as.\n\nIt should answer with an organisation id and a plan. Nothing but a live,\nauthenticated connection can return that — `list_oracles` answers identically\nfor every caller, so it cannot tell you whose account you are on.\n\n| | |\n|---|---|\n| the browser never opens | Your client needs a restart after adding the server, or it does not support MCP authorization yet. Use an API key below |\n| \"this account has no Forma organisation yet\" | You signed in with an account that has never opened the [console](https:\u002F\u002Fapp.formalogic.io). Sign in to the console once, then connect again |\n| the tools do not appear | Most clients start MCP servers once, at launch. Restart it |\n\n## With an API key instead\n\nFor a client that cannot do OAuth, or for scripts and CI, send an API key as a\nbearer token. Create one on the [API keys](https:\u002F\u002Fapp.formalogic.io\u002Fkeys) page — it is shown once.\n\n[Create an API key](https:\u002F\u002Fapp.formalogic.io\u002Fkeys)\n\n### Claude Code with a key\n\nTwo commands, so the key is never on a command line:\n\n```bash\nread -rs -p 'Forma API key: ' FORMA_KEY\n```\n\n```bash\nclaude mcp add --transport http forma https:\u002F\u002Fmcp.formalogic.io\u002Fmcp \\\n  --header \"Authorization: Bearer $FORMA_KEY\"\n```\n\nPasting the key into the command itself would work, and would also write it\nverbatim into your shell history — persisted, often synced with your dotfiles,\nand readable by anything running as you. `read -rs` takes it from the terminal\ninstead: not echoed, not recorded. (`claude mcp add` still stores the header in\n`~\u002F.claude.json`; that part is inherent to configuring a client.)\n\nCheck it registered:\n\n```bash\nclaude mcp list\n```\n\n`forma` should read `✔ Connected`.\n\n### Claude Desktop with a key\n\nSettings → Developer → Edit Config, then add to `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"forma\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer fk_live_…\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop afterwards. MCP servers are started once, at launch.\n\n### Cursor with a key\n\nAdd to `.cursor\u002Fmcp.json` in your project, or `~\u002F.cursor\u002Fmcp.json` for every\nproject:\n\n```json\n{\n  \"mcpServers\": {\n    \"forma\": {\n      \"url\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer fk_live_…\"\n      }\n    }\n  }\n}\n```\n\n### VS Code with a key\n\nAdd to `.vscode\u002Fmcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"forma\": {\n      \"type\": \"http\",\n      \"url\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer fk_live_…\"\n      }\n    }\n  }\n}\n```\n\n### Windsurf with a key\n\nAdd to `~\u002F.codeium\u002Fwindsurf\u002Fmcp_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"forma\": {\n      \"serverUrl\": \"https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer fk_live_…\"\n      }\n    }\n  }\n}\n```\n\n### Codex with a key\n\n```bash\nread -rs -p 'Forma API key: ' FORMA_KEY\n```\n\n```bash\ncodex mcp add forma --url https:\u002F\u002Fmcp.formalogic.io\u002Fmcp \\\n  --header \"Authorization: Bearer $FORMA_KEY\"\n```\n\nSame reason as Claude Code above — the key stays out of your shell history.\n\n### Any other client with a key\n\nThe server speaks streamable HTTP. Give your client the URL and one header:\n\n```\nPOST https:\u002F\u002Fmcp.formalogic.io\u002Fmcp\nAuthorization: Bearer fk_live_…\n```\n\nEverything is behind that header — `initialize` and `tools\u002Flist` included, so an\nunauthenticated caller cannot enumerate what the server does. The one open route\nis `\u002Fhealthz`, which answers `{\"ok\": true}` and nothing else.\n\nIf your client cannot send a header, it cannot connect yet — every route except\n`\u002Fhealthz` is behind that header.\n\nWith a key, a `401` means the header is missing or the key is wrong; `KEY_REVOKED` and `KEY_EXPIRED` say which. A `403 ORG_DISABLED` means the key is fine and its organisation is not active — see [Authentication](https:\u002F\u002Fdocs.formalogic.io\u002Fauthentication).\n\n## A note on these instructions\n\n**Claude Code is the only client tested end to end against this server**, with\nOAuth and with a key. The other clients follow each vendor's published MCP\nconfiguration as of **2026-09-28** — the shape is right, but their settings\nscreens move, and if one of these is wrong we would rather you told us than\nassumed it was you.\n",1793819974152]