# Atlas IDE extension install failed: Unknown IDE and InstallFailedError

> Run the install from a supported IDE's integrated terminal and make sure the IDE's CLI, for example `code`, is on PATH.

Atlas fails the IDE extension install with "Unknown IDE: <ide>" when the IDE name is not in SUPPORTED_IDES, and with InstallFailedError carrying the installer's stderr when the shell-out to `<cmd> --install-extension sst-dev.atlas` fails. Run the install from a supported IDE's integrated terminal, since Atlas detects the IDE from TERM_PROGRAM and GIT_ASKPASS, and make sure the IDE's CLI, for example `code`, is on PATH. AlreadyInstalledError means there is nothing to do.

## Symptom

Installing the Atlas IDE extension fails with: Unknown IDE: <ide>, or with an InstallFailedError carrying the installer's stderr. If the extension is already present, Atlas raises AlreadyInstalledError instead.

## Cause

Atlas ide/index.ts looks the IDE up in SUPPORTED_IDES and throws on an unknown name, then shells out to `<cmd> --install-extension sst-dev.atlas`, surfacing failure as InstallFailedError with stderr and the already-installed case as its own named error.

## Fix

1. Run the install from a supported IDE's integrated terminal; Atlas detects it from TERM_PROGRAM and GIT_ASKPASS.
2. Make sure the IDE's CLI (for example `code`) is on PATH.
3. Read the stderr on InstallFailedError; a missing CLI or a marketplace outage will show up there.
4. AlreadyInstalledError means there is nothing to do; ATLAS_CALLER already reports the IDE.

## Why does Atlas say Unknown IDE when installing the extension

Atlas says "Unknown IDE: <ide>" because ide/index.ts looks the IDE up in SUPPORTED_IDES and throws when the name is not there. Atlas detects the IDE from 2 environment variables, TERM_PROGRAM and GIT_ASKPASS, so a terminal outside a supported IDE produces a name Atlas does not recognize.

The detection is environmental, not interactive. Atlas does not ask which IDE you are using; it reads TERM_PROGRAM and GIT_ASKPASS from the environment of the shell it is running in, and matches the result against SUPPORTED_IDES. A plain system terminal, a tmux session detached from any IDE, or an SSH shell will not carry the values Atlas needs. The result is either no IDE at all or a name that fails the SUPPORTED_IDES lookup, and Atlas throws "Unknown IDE" rather than guessing which editor you meant.

## How to fix the Atlas IDE extension install

Fix the Atlas IDE extension install by running it from a supported IDE's integrated terminal, which in 2026 is the only shell that reliably carries both TERM_PROGRAM and GIT_ASKPASS. Atlas detects the IDE from those variables, so the SUPPORTED_IDES lookup in ide/index.ts succeeds there and the install proceeds.

Open the integrated terminal inside the IDE you want the extension installed into, and run the Atlas install from that shell. The environment variables Atlas reads are set by the IDE when it spawns its own terminal, which is why the same command run from a standalone terminal application fails with "Unknown IDE". Also make sure the IDE's CLI, for example `code`, is on PATH, because after detection Atlas shells out to `<cmd> --install-extension sst-dev.atlas` and needs that binary to actually exist.

## What InstallFailedError means for the Atlas IDE extension

InstallFailedError means Atlas detected the IDE successfully and then the shell-out to `<cmd> --install-extension sst-dev.atlas` failed. Atlas surfaces the installer's own stderr on the error, and a missing CLI or a marketplace outage are the 2 causes that show up there most often.

Read the stderr. Atlas does not rewrite it, so the text on InstallFailedError is the installer's own diagnosis, and it distinguishes the two common cases immediately. A missing CLI means the IDE command Atlas invoked is not on PATH, so the fix is to install or expose that CLI. A marketplace outage means the CLI ran fine but could not fetch sst-dev.atlas, so the fix is to retry later. Do not treat InstallFailedError as a detection problem: the IDE was recognized, or you would have seen "Unknown IDE" instead.

## What AlreadyInstalledError means in Atlas

AlreadyInstalledError means the Atlas IDE extension is already present and there are 0 actions left to take. Atlas raises the already-installed case as its own named error rather than folding it into InstallFailedError, so AlreadyInstalledError is not a failure you need to fix.

Recognizing AlreadyInstalledError as a no-op saves a wasted debugging session. The extension is installed, ATLAS_CALLER already reports the IDE, and re-running the install will keep producing the same named error. If the extension is installed but is not behaving as you expect, the problem is not the install path, so stop retrying `<cmd> --install-extension sst-dev.atlas` and look elsewhere. Atlas separates the three outcomes deliberately: Unknown IDE for detection, InstallFailedError for a failed install, and AlreadyInstalledError for nothing to do.

## How to make sure the IDE CLI is on PATH for Atlas

Atlas shells out to `<cmd> --install-extension sst-dev.atlas`, so the IDE's CLI must be on PATH before the install can work. For a VS Code style editor that CLI is `code`, and 1 check settles it: if `code` does not resolve on PATH, the install fails with an InstallFailedError carrying the shell's own stderr.

Check that the CLI resolves from the same integrated terminal you are running the Atlas install in, not from some other shell, because PATH differs between environments. Many editors ship a command that installs their CLI onto PATH as a separate step after the editor itself is installed. Until that step is done, the binary Atlas needs does not exist as far as the shell is concerned. Every Atlas tool call is permission-gated against allow, ask, and deny rules before it runs, so a blocked or missing command surfaces rather than failing silently.

## How to verify the Atlas IDE extension installed

Verify the Atlas IDE extension install by re-running it from the supported IDE's integrated terminal. Success means 0 errors: no "Unknown IDE" throw from SUPPORTED_IDES, and no InstallFailedError. A second run that reports AlreadyInstalledError confirms sst-dev.atlas is now present.

AlreadyInstalledError on the second attempt is the clearest possible confirmation, because Atlas raises it specifically when the extension is already there. If "Unknown IDE" reappears, the shell you are using is still not carrying the TERM_PROGRAM and GIT_ASKPASS values Atlas reads, so you are not in the IDE's integrated terminal. If InstallFailedError reappears, read the stderr again: the CLI is still missing from PATH, or the marketplace is still unreachable, and the text will say which.

## FAQ

### How do I fix "Unknown IDE" when installing the Atlas extension?

Run the install from a supported IDE's integrated terminal. Atlas detects the IDE from TERM_PROGRAM and GIT_ASKPASS and throws "Unknown IDE" when the name is not in SUPPORTED_IDES.

### What does InstallFailedError mean for the Atlas IDE extension?

InstallFailedError means the shell-out to `<cmd> --install-extension sst-dev.atlas` failed. Read the stderr carried on the error; a missing CLI or a marketplace outage will show up there.

### Why does the Atlas extension install fail from my normal terminal?

A standalone terminal does not carry the TERM_PROGRAM and GIT_ASKPASS values Atlas uses to detect the IDE. Run the install from a supported IDE's integrated terminal instead.

### What is AlreadyInstalledError in Atlas?

AlreadyInstalledError means the Atlas IDE extension is already present and there is nothing to do. ATLAS_CALLER already reports the IDE, so stop retrying the install.

### Do I need the `code` CLI on PATH for the Atlas extension?

Yes. Atlas shells out to `<cmd> --install-extension sst-dev.atlas`, so the IDE's CLI, for example `code`, must be on PATH or the install fails with InstallFailedError.

### What extension id does Atlas install?

Atlas installs sst-dev.atlas by shelling out to `<cmd> --install-extension sst-dev.atlas` from the detected IDE's CLI.

### How does Atlas know which IDE I am using?

Atlas detects the IDE from the TERM_PROGRAM and GIT_ASKPASS environment variables and looks the result up in SUPPORTED_IDES, throwing "Unknown IDE: <ide>" when there is no match.

---

Canonical HTML: https://runatlas.sh/resources/troubleshooting/ide-extension-install-failed
Source of truth: aeo_pages row `/resources/troubleshooting/ide-extension-install-failed` (segment: Troubleshooting) (this file is generated from it, never hand-edited).
Licence: Atlas is proprietary with a free core. It is not open source and there is no public source repository.
