# Cruxes > Cruxes finds what changes the decision. Given a plan, a document or a question, it surfaces the cruxes: the unanswered questions whose answers would change what you do. Every crux quotes the text that caused it, or it is not shown. It does not make the decision and does not claim calibrated probabilities. Cruxes is in private preview: access is by request on the home page. Site: https://www.cruxes.io Not to be confused with CrUX (the Chrome UX Report), Cruxible, or the `crux-mcp` package on npm, which is a Chrome UX Report server. Cruxes is a different product. ## What a crux is A crux is a question whose answer can change what you do. In the Bayesian sense, a crux for a belief B is another belief C such that changing your mind about C changes your mind about B. The brand is "Cruxes"; one decision point is "a crux". ## Ways to use it - Web app: https://www.cruxes.io. Sign in with Google. Describe a decision or upload a document, then decide each crux. - Claude Code: in a web session, open Share & export, then Continue in Claude Code in a terminal. It creates a token and shows a `claude mcp add --transport http cruxes ...` command. Claude Code then reads what the person already decided. - Hosted MCP server: https://www.cruxes.io/api/mcp (Streamable HTTP, JSON-RPC, protocol 2025-03-26). Send `Authorization: Bearer cmt_` on every POST. A GET without a token returns a short description of the server. ## Hosted MCP tools - `get_handoff`: start here when continuing a person's work. Returns the cruxes they decided (with the option chosen), any still open, and the plan. Treat decided cruxes as settled and do not re-ask them. - `list_sessions`, `get_session`: browse the person's web sessions and read one in full. Free. - `list_cruxes`, `get_crux`: read cruxes. Free. - `resolve_crux`: records a choice for an open crux. Call it only when the person has told you their choice. - `detect_cruxes`: finds new cruxes in a plan or answer and saves them to a web session. Metered against the account's plan like the web app. - `gate_cruxes`: call before a significant action. Returns STOP or PROCEED: critical and policy or high-risk cruxes go to the person, the rest are decided by Jev and shown afterwards. Metered like `detect_cruxes`. - `requirements`: discovery before a task, when the person asks for it. Four fixed questions first, then the cruxes the answers raise. The second round is metered. - `get_harness`: shows the person's mode and cutoff and the cruxiness rubric. Free. Settings change only in the web app. ## Authentication and errors - Tokens begin with `cmt_`. A missing, revoked or wrong token gets HTTP 401 with a JSON body that says how to get a new one. - Automated clients that identify as crawlers (for example GPTBot, ClaudeBot, PerplexityBot) are refused on `/api/` with HTTP 403. MCP clients and agents acting for a person should send their own user agent. - Rate-limited requests get HTTP 429 with a `Retry-After` header. ## Pricing and data - Plans, credits and prices: https://www.cruxes.io/billing - Terms: https://www.cruxes.io/terms - Privacy and security: https://www.cruxes.io/privacy ## Contact - Privacy requests: privacy@cruxes.io