Troubleshoot Imp

This page is for users who need to separate a repository error from an environment, platform, or Imp error. Start with the smallest reproducible target and record the command, platform, workspace configuration, and cache state.

Identify the failure boundary

SymptomFirst checkLikely boundary
Imp cannot find a targetRun imp targets from the workspace rootRepository or selector
A declared tool cannot be foundCheck the rule import and toolchain declarationWorkspace or toolchain
A download failsCheck the platform and lockfile entryNetwork, lockfile, or platform
A cached result looks wrongRe-run the selected goal with --no-cacheCache or product behavior
Only one platform failsCompare the platform-specific rule and toolchain pathPlatform or toolchain
A daemon command failsRun imp daemon status, then stop and restart itDaemon or environment

Inspect a run

Use a focused selector first. Increase log detail only for the run you are investigating:

Illustrative example

imp --level debug build //app:server
imp --level trace build //app:server --no-cache
imp cache stats

--no-cache disables task-cache reads and writes for that goal. It does not disable managed toolchain downloads or make an unsandboxed action safe.

For artifact-capture questions, IMP_TRACE_ARTIFACTS=1 adds opt-in artifact trace output. Treat trace output as diagnostic data and do not include secrets in commands or environment values.

Compare repository and environment failures

If the same focused command fails with a fresh cache, inspect the selected BUILD.js, workspace imports, declared tools, source paths, and platform. If a clean workspace or another supported platform succeeds, compare those inputs before changing Imp.

If a failure occurs while downloading a pinned toolchain, preserve the error and check the lockfile, URL availability, platform entry, and digest. Do not replace a failed verification with an unverified download.