Lifestyle

Troubleshooting plugin connections

Distinguish installation, account connection, authorization and callable tools before reconnecting or removing a plugin.

About 15 min read · Practice 20 min

Original workflow illustration, not a product screenshot.
Image: Mokaair (© Mokaair)
On this page
  1. Goal and preparation
  2. Step 1: Preserve the failure record
  3. Step 2: Choose a layer by symptom
  4. Step 3: Check surface, installation and enablement
  5. Step 4: Separate account and document access
  6. Step 5: Retest with an actual tool result
  7. Diagnosis exercise: three different read failures
  8. Common failures and recovery
  9. Acceptance and next step

Goal and preparation

Lessons and resources mentioned here:

Step 1: Preserve the failure record

Record date, OS, surface, version, plugin name/source, sign-in method and failing step. Use this format on Windows/macOS/Linux. Check CLI version in a terminal and desktop version in app information or updates. Record local and remote hosts separately: desktop installation does not prove CLI installation. Use actual versions, not the article's date.

Terminal: check CLI version · sh
codex --version
plugin-incident.md · markdown
# Plugin incident
Date and time zone:
OS / surface / version:
Local or remote host:
Plugin name and source:
Sign-in method (no secrets):
Failing step:
Exact error (redacted):
Practice document revision:
Change attempted:
Retest result:

Redact emails, private document IDs, tokens and cookies from shared errors. Never include authentication URLs containing one-time codes. Retain error type, time and reproduction; use provider support for server logs. Change one condition per retest to distinguish account, session and permission effects.

Step 2: Choose a layer by symptom

SymptomFirst checkObservable result
No Plugins entrySupported surfaceDirectory opens on a supported surface
Listed but cannot installSource and workspace policyDetails or management restriction identified
Installed but no toolsEnabled state and new sessionCapability selectable in a fresh task
Tool requests sign-inExternal account connectionCorrect account authenticated
Only one document failsFile access or URLSame account opens original document
Old content in answerTool call and document revisionFresh retrieval returns new marker

These are diagnostic steps, not guaranteed code mappings. Interpret provider responses: 401 often concerns authentication, 403 access, while missing files or changed sharing may produce similar errors. For 429/outages, follow returned retry guidance and retry the same small document later. Do not flood requests or make the drive public.

Step 3: Check surface, installation and enablement

On desktop inspect Plugins, Installed and details. In CLI, start codex, enter /plugins, check marketplace and entry; Space toggles an installed plugin. After installing or enabling, test a fresh task because old tasks may retain earlier capabilities. Keep their results; do not delete tasks or clear Codex configuration.

Interactive Codex CLI slash command · text
/plugins

Plugins are unsupported in IDE; test desktop or CLI. iOS/Android Chat/Work only use available plugins; Desktop only cannot run on mobile. Linux preview and individual plugins may impose conditions. Record unsupported surfaces instead of reinstalling. See .

Step 4: Separate account and document access

Open the source document with the plugin's external account and verify title/Revision. Another browser account's access proves nothing about this account. For a mismatch, use reconnection and retry the same URL in a fresh task. For document-specific denial, check sharing with its owner; grant only necessary access to your practice file.

ChatGPT subscription sign-in differs from OpenAI API key sign-in; some plugins requiring OAuth are unavailable with API key authentication. Check plugin details and . Do not put a service password in config.toml or use unrestricted approvals to solve OAuth. Host sandboxing governs local work, while the external service governs document access; relaxing one layer does not guarantee access through the other.

Step 5: Retest with an actual tool result

New-task prompt: replace the practice URL · text
Use the selected plugin to read my practice document at <PRACTICE_DOCUMENT_URL>.
Return its title, source link, Revision, Document marker and task counts.
Use a fresh tool result. If access fails, report the tool error and stop.
Do not edit, share, move or delete anything. Do not infer missing contents.

Replace the placeholder URL and select the plugin/capability. Inspect actual tool activity; compare title, source, Revision, marker and counts against the original. No tool call means checking availability; a denied call means preserving that error, not reconstructing an answer from old conversation.

Manually change Revision and one count at the source without telling Codex the value. Use the same prompt in a fresh task. If stale, check copied URLs, saved edits and supported reread options; record delay. A correct retry verifies only this document and surface.

Diagnosis exercise: three different read failures

CaseKnown evidenceStill unknown
ADesktop Installed lists the bundle; failure occurs in the IDE on the same machine with no tool callWhether a new task in a supported surface works
BA new task has the tool; the service denies access; the same external account cannot open the document on the source siteWhether this account should have document access
CThe source site saved Revision 3; an actual tool call returns Revision 2; the source link is not yet checkedWhether it read a copy or an update has not propagated

A: try a fresh desktop/CLI task; IDE lacks plugin support and connection success is unknown. B: check URL, account and sharing; change only authorized practice access. Reinstalling grants no document rights. C: compare source URLs, then record reread time/revision; do not guess memory or caching. Retest the same private document.

If the only evidence is the agent saying “success”, leave actual reading unconfirmed. Conversely, a tool that returned a denial was called and failed; do not label it “not loaded”. Using these distinctions in the incident record helps the next person inspect the correct surface or service.

Common failures and recovery

If Uninstall is absent, check whether the plugin is workspace-installed or a default managed by an administrator and record the restriction. Uninstalling removes that environment's bundle; separately connected MCP integrations can remain. To close the exercise, check both Installed and external connection management, revoking your practice authorization if needed. Preserve shared connections and do not equate one disconnection with disabling every device.

Restore the one changed condition: enable the plugin, reconnect the intended account or restore practice access. If a fresh task still fails, give the maintainer surface, plugin source, redacted error, attempted change and expected/actual results. Avoid repeated reinstalls. Use for server configuration, distinct from plugin-directory issues.

Acceptance and next step

Keep original failure, identified layer, one change, fresh same-document result, input preservation and retained/revoked connection state. Without a tool result, report a surface limitation or pending authentication. These operations are documented, not tested on your account, OAuth flow or physical phone; article rendering does not prove connectivity.

Keep this record separate from : loading a skill does not establish connection to its backing service. Reuse the fields from , updating observed values while retaining dates and unreproduced cases.

Original workflow illustration, not a product screenshot.
Original workflow illustration, not a product screenshot. · Image: Mokaair (© Mokaair)
Read the full description

Three numbered stages: identify the starting point, perform the exercise, and verify the result. Original illustration, not a product screenshot.

Back to directory

  • Lifestyle

    Codex learning hub: tutorial directory

    A planned 60-lesson, ten-unit Codex curriculum, from setup and your first task to MD instructions and advanced integrations. Find your next lesson by experience, platform, goal or command; unpublished entries show their status.

  • Lifestyle

    Worktrees and isolated tasks

    A Git worktree gives one repository multiple working directories on different branches. It isolates file edits, but databases, ports and external services may still be shared. File isolation is not full resource isolation.

  • Lifestyle

    Workshop: build a small website

    Plan and build the Small Steps task website from brief.md, with adding, completing, deleting, filtering and local persistence. Separate HTML, CSS, data functions, UI events and tests, verify with Node and browser checks, and document restart and recovery steps.

  • Lifestyle

    Usage and efficiency: reducing rework

    Record task conditions, model options, time and outcomes to reduce unnecessary retries and excess context.

Latest travel guides

Sources

Lifestyle