Install & activate

Shipmoor Team
June 27, 2026
7 min read

The Shipmoor IDE extension surfaces scan findings as native editor diagnostics: squiggles in your code, a count in the status bar, and remediation hints inline. It reimplements neither detection nor auth; it shells out to your local, signed-in shipmoor CLI for everything. This page walks you from a fresh install to your first squiggle.

Prerequisites

The extension is a thin client over the CLI, so the CLI does the real work. Before the extension can emit a single diagnostic you need:

  1. The shipmoor CLI installed. The extension does not bundle it.

    curl -fsSL https://dl.shipmoor.dev/install.sh | bash

    The installer drops a single binary in ~/.shipmoor/bin. The extension’s minimumCliVersion is 0.4.1; we recommend 0.6.0 or newer so the latest contracts, the language-server runner, the agent and Claim Check editor layers, and the advisory Code Review surface are all available.

    shipmoor version
    # shipmoor 0.6.0
  2. A signed-in session on an IC plan. The extension turns on diagnostics only when shipmoor capabilities reports the ide_extension_pro entitlement.

    shipmoor login

See Sign in & licensing for the login flow and Capabilities & entitlements for what ide_extension_pro unlocks.

Install the extension

The extension installs for free; it stays in an empty state until the CLI reports an active entitlement.

EditorHow to install
VS CodeOpen the Extensions view, search Shipmoor, and install it from the VS Code Marketplace.
Cursor, VSCodium, Windsurf, and other VS Code forksSearch Shipmoor on Open VSX, or install the downloaded .vsix directly.

The extension is published as v0.4.0 on the VS Code Marketplace and Open VSX. It includes the agent-aware and Claim Check editor layers, which switch on automatically when your plan carries the agent_harness / intent_scan entitlements. See the overview.

How activation works

The extension activates on editor startup and whenever you open a python, typescript, javascript, or go file. On activation it reads shipmoor capabilities to check for ide_extension_pro, then settles into one of these gate states:

Gate stateWhat you see
activeDiagnostics are on. The extension scans and renders squiggles.
graceDiagnostics are on. You’re inside a grace window after a lapsed or expiring license.
signinEmpty state with a one-click Sign In action.
lockedEmpty state with a one-click Upgrade action (no IC entitlement).
setupEmpty state with a one-click Install CLI or Refresh entitlement action (the CLI is missing or the entitlement is stale).

The empty state is intentional: with no entitlement the extension emits no diagnostics and points you at the single action that will fix it. It re-checks your entitlement every 30 minutes by default, so a fresh shipmoor login or an expiring grace period is picked up without reloading the window. Tune the interval with shipmoor.entitlementCheckIntervalMinutes.

Binary discovery

The extension finds the CLI in this order and uses the first hit:

  1. The shipmoor.binaryPath setting, if set.
  2. ~/.shipmoor/bin/shipmoor (the installer’s default location).
  3. Your PATH.

If discovery fails you land in the setup empty state with an Install CLI action. Run Shipmoor: Run Doctor to print exactly which path was tried and why it was rejected.

Settings

All settings live under the shipmoor.* namespace in your editor settings. The defaults are tuned for the CLI runner; the language-server runner makes the on-type path fast enough to enable.

SettingPurposeDefault
shipmoor.binaryPathAbsolute path to the shipmoor CLI; leave empty to auto-detect.""
shipmoor.runnerScan transport: auto picks the language server when supported, else the per-scan CLI; lsp and cli force one.auto
shipmoor.severityThresholdLowest severity shown as a squiggle (lower findings are still counted).low
shipmoor.scanOnSaveScan a file when you save it.true
shipmoor.scanOnTypeScan while you type, after a short pause.false
shipmoor.debounceMsMilliseconds to wait after the last keystroke before scanning on type.500
shipmoor.scanOnStartupScan the whole workspace when it opens.true
shipmoor.scanTimeoutMsAbort a scan that runs longer than this.30000
shipmoor.enabledLanguagesLanguage ids to scan on save, open, and type.["python","typescript","javascript","go"]
shipmoor.diagnostics.showRemediationAppend the one-line remediation under each finding’s message.true
shipmoor.statusBar.enabledShow the Shipmoor integrity indicator in the status bar.true
shipmoor.autoSaveAfterIgnoreSave the file automatically after inserting a suppression comment.false
shipmoor.entitlementCheckIntervalMinutesHow often to re-check your entitlement (5–1440).30

Commands

Open the Command Palette (Cmd/Ctrl+Shift+P) and type Shipmoor to see the full set. Scan and diagnostic commands are available only in the active or grace gate states; the sign-in and setup commands are always available so you can recover from an empty state.

CommandWhat it does
Shipmoor: Scan Current FileScan the active editor file.
Shipmoor: Scan WorkspaceScan the whole workspace.
Shipmoor: Scan Changed FilesScan only files changed against your working tree.
Shipmoor: Clear DiagnosticsRemove all Shipmoor squiggles from the editor.
Shipmoor: Show ProblemsJump to the Problems panel filtered to Shipmoor.
Shipmoor: Run DoctorPrint CLI discovery, version, and entitlement diagnostics to the output channel.
Shipmoor: Restart Language ServerRestart the language-server runner.
Shipmoor: Set IntentRecord the task the current change should satisfy, so Claim Check checks the diff against it. Shown when your plan includes intent_scan.
Shipmoor: Clear IntentClear the recorded task intent.
Shipmoor: Send this finding back to the agentA code action on an agent-attributed finding; posts it (metadata only) to the Agent Harness inbox.
Shipmoor: Sign InStart the shipmoor login flow.
Shipmoor: Refresh EntitlementRe-read shipmoor capabilities immediately.
Shipmoor: Open BillingOpen your Shipmoor billing page.
Shipmoor: Open SettingsJump to the Shipmoor settings section.
Shipmoor: Open CLI Install InstructionsOpen the CLI install docs.

Verify the install

  1. Make sure shipmoor version reports 0.4.1 or newer and that you’ve run shipmoor login.
  2. Open a python, typescript, javascript, or go file that has a known issue, for example a phantom import that references a package missing from your manifest.
  3. A squiggle appears on the offending line, and the status bar shows the finding count. Hover the squiggle for the message and, with shipmoor.diagnostics.showRemediation on, the one-line fix hint.

If no squiggle appears, run Shipmoor: Run Doctor: it reports which gate state you’re in and, in setup, exactly which binary path failed. A missing or unauthenticated CLI is the most common cause.

Next

Last updated on June 27, 2026

Was this article helpful?

Your response is saved on this device.

Related Articles