DACIP DACIP

Troubleshooting

Short list, real problems. If yours isn't here, email hello@dacip.dev.

Frontend calls = 0 / TS_ANALYZER_UNAVAILABLE

Your repo has TypeScript or JavaScript, but a run prints:

DACIP: this repo has TypeScript/JavaScript, but the TS analyzer could not run —
frontend calls were NOT extracted, so cross-stack findings are incomplete.

DACIP never runs npm install implicitly, so the TS analyzer needs a one-time setup. Install Node.js if you don't have it, then:

dacip toolchain install-ts

This installs typescript@5 into ~/.cache/dacip/toolchain and uses it as a fallback when a repo has no (or an incompatible) TypeScript. DACIP prints this warning loudly on purpose — a missing frontend side must never look like "no findings".

"This looks like a private repo" on a public repo

The free tier checks two things: the GitHub API says the repo is public, and your local HEAD commit exists in that public remote. A stale checkout — local commits not yet pushed, or a branch the remote never saw — fails the second check, and any failure is treated as non-public by design.

Fixes, pick one:

  • git pull (or push) so HEAD exists in the public remote
  • dacip login — GitHub device-flow sign-in, free trial covers 1 private repo

Note that DACIP_OFFLINE=1 also disables the public check entirely, so offline runs on unlicensed repos are gated. See pricing on the landing page for the Team tier ($15/active contributor).

"unsupported platform" from the installer

unsupported platform: <os> <arch>.
Supported: macOS arm64, Linux x86_64.

Those two platforms are what ships today. Email hello@dacip.dev if you need another — that's how we prioritize.

Checksum mismatch on download

The installer verifies every binary against a published SHA256 and refuses to run anything that doesn't match:

checksum mismatch (got ..., want ...).
Download corrupted or tampered — do not run it. Retry, then email hello@dacip.dev.

This is working as intended. Retry the download; if it fails twice, tell us.

PYTHON_PARSE_ERROR warnings

PYTHON_PARSE_ERROR: ... — file excluded from analysis (it may use Python syntax
newer than this DACIP build's interpreter)

A file DACIP can't parse is a reading ceiling, not a defect in your code — it may use syntax newer than the interpreter this build runs on. The file is excluded from analysis and surfaced as a warning, never as a finding. If many files are excluded, your run's coverage block will show it; treat findings in that area as incomplete rather than clean.

Where outputs live

Every dacip investigate run writes to .dacip/runs/<task-id>/:

File Contents
report.md human-readable report
findings.json defects, machine-readable
auth_matrix.json route × auth requirement matrix (when routes exist)

Plus observations.json, evidence.json, coverage.json, and diagnostics.json. DACIP adds .dacip/ to your .gitignore automatically on first run — nothing lands in your commits.

Exit codes

Code Meaning
0 success; for investigate, no new or recurring defects
1 defects found (investigate), repro failed (verify), or plan/patch invalid
2 usage error — missing objective, unknown finding id, invalid plan file
3 run refused or failed: cancelled (Ctrl-C), analysis failure, private-repo gate, invalid license
4 internal DACIP error — please report it

1 on investigate is the signal CI should fail on; 3 and 4 mean the run didn't complete, not that the code is clean.

Getting help

Email hello@dacip.dev. Include the command you ran, the exit code, and diagnostics.json from the run directory if there is one. See also Quickstart and the FAQ.