TwinDocs
Connect your AI

Troubleshoot a connection

Find the failed stage without exposing credentials or weakening the governed path.

Diagnose the connection in order. Do not respond to a failure by widening scopes, changing tenants, exposing internal ports, or bypassing the Twin query route.

SymptomLikely boundarySafe next check
Cannot add the connectionProvider workspace policyAsk the ChatGPT or Claude owner to add the custom app or connector
OAuth callback rejectedClient registrationCompare the callback URL character-for-character with the registered redirect URI
401 UnauthorizedToken, issuer, audience, or active userRe-authenticate through the protected sign-in flow; do not paste the token into chat
403 ForbiddenScope or organisation mappingCheck the exact scope for the action: twin.connections, twin.onboarding, twin.query, twin.read, or twin.write, plus the organisation mapping
Channel not foundChannel access, organisation mapping, or an unknown referenceRun twin channels --json and use the exact returned ID or slug; do not broaden the credential
Deterministic field rejectedChannel schemaInspect the channel again and use an active returned field key; never substitute raw SQL
Query stays queued or runningTwin runtimeKeep the query ID and request ID; ask support to trace the routed session
Query fails during routing or compositionTwin router or governed data contractKeep the query, task, and session IDs; inspect the exact run rather than broadening capabilities or querying source tables
Channel, view, session, or artifact read fails with a gateway errorPublic gateway or tenant serviceKeep the structured diagnosticId returned by the API or CLI so support can correlate the safe gateway request log
MCP server is missing twin_channels_* or twin_query* toolsWrong server or outdated configurationDisable it and compare the URL with the Twin connection details
Hosted Claude cannot reach the serverPublic network or TLSConfirm the configured gateway is public HTTPS, not localhost, VPN-only, or Tailscale-only
twin login does not open or finishBrowser callback or local credential storeRetry from the same computer, keep the terminal running, and complete the browser sign-in; do not paste the callback token
CLI is using the wrong organisationSaved CLI organisation contextRun twin status --json and twin organisations --json, then switch with twin organisations --use <id-or-exact-name>; do not log in again or guess an organisation
twin channels is forbiddenOrganisation mapping, scope, or tenant routeAsk MLX to verify twin.read, the central organisation mapping, and the registered HTTPS tenant route
--allow-write is present but a channel write is forbiddenExisting OAuth grant lacks twin.writeRun twin login again and approve the updated scope; do not paste or broaden credentials manually
Record creation returns 422 Source-backed object typeThe selected object type projects an external sourceCreate the row in the source system; do not copy it into a native channel
View update returns 409 ConflictThe saved view changed after it was inspectedRe-read the view and show the user the competing definition before preparing a new update
Channel View Has No Dashboard Data--data was used with a table, board, form, or other non-dashboard viewInspect the view, then use a deterministic records query or read a dashboard view instead
Deterministic request is invalidA field, operator, or metric function does not match the typed contractRead the validation path, such as metrics[0].function, and compare the intent with twin help --json
Codex or Claude Code MCP cannot authenticateOptional MCP credential configurationConfirm the configured credential reference without printing its value, then restart the client

Capture safe support details

Include:

  • provider and client type;
  • time and timezone;
  • gateway hostname, without query strings or credentials;
  • connection name;
  • channel ID and object type ID when relevant;
  • HTTP status or safe error code;
  • gateway request ID or structured diagnosticId;
  • query ID, task ID, or session ID when returned; and
  • the stage that failed.

Do not include tokens, secrets, cookies, raw authorization headers, full request bodies, or private source data.

Remove a local connection

Run twin logout to remove the saved CLI credential. If you also added optional MCP configuration, remove only the twin entry and restart the client. Preserve every unrelated server and setting. Removing local configuration does not revoke the OAuth client; ask a Twin administrator for revocation when that is intended.

On this page