Instrument is an AI workspace that runs privately on your computer. It has a built-in browser, works with your local files, and runs its own tools to complete complex, multi-step tasks rather than just answering questions.
- Complete challenging multi-step tasks with AI
- Create and edit documents, slides, spreadsheets, and reports
- Browse and act on the web with an onboard AI agent
- Every task saves as a local folder you own, versioned automatically
Works with Claude, GPT, Gemini, or local models.
Reports and requests start as discussions, not issues. Please pick the matching category, because only Issue Triage asks for the details a bug needs.
- Something broken? Open an Issue Triage discussion.
- Want a feature, or have an idea? Open a Feature Requests, Ideas discussion.
- Question, or need help with setup? Open a Q&A discussion.
- Security vulnerability? Email
security@tryinstrument.comrather than filing publicly. See SECURITY.md.
The issue tracker holds work we have accepted; discussions get promoted to issues once they reach an actionable conclusion. CONTRIBUTING.md has the full routing and what makes a report actionable.
Prerequisites: .agents/setup.md. Environment variables: .agents/env.md.
pnpm install
./scripts/setup.sh
pnpm run dev:studio@types/nodeis pinned to an exact version in thecatalog:to avoid constantpnpm dedupe --checkfailures.better-sqlite3is ignored inpnpm-workspace.yamlto avoid the native dependency installation because we are using Node's native SQLite support.@mongodb-js/zstdandnode-liblzmaare ignored because they are native addons pulled in byjust-bash'starcommand for zstd/xz support; tar works without them via fallback.@electron/rebuild>node-abiis overridden to4.31.0. electron-builder 26.8.2 resolvesnode-abi4.24.0, which predates Electron 42 and cannot map its ABI, so@electron/rebuildfails. The override is scoped to@electron/rebuildso nothing else is affected.just-bash@3.4.1is patched with changes we carry ahead of upstream releases (seepatches/just-bash@3.4.1.patch). The patch is generated, not hand-edited:pnpm scripts:rebuild-just-bash-patchrebuilds it from the sources named inpatches/just-bash-sources/. Everything we patch or work around injust-bash, and what has to be true before each can go, is registered in docs/architecture/just-bash-upstream.md.@parcel/watcher@2.6.0is patched to delete itsbinding.gyp(seepatches/@parcel__watcher@2.6.0.patch). At runtime the loader requires the prebuilt per-platform package (@parcel/watcher-${platform}-${arch}, all listed as explicit deps) first and only falls back to a source-compiled./build/Release/watcher.node, which we never use. WithnpmRebuild: true,@electron/rebuildseesbinding.gypand compiles that unused fallback against Electron's ABI (wasted work, and a cross-compile failure risk). Removingbinding.gypmakes@electron/rebuildskip just this package while still rebuilding every other native addon. electron-builder has no per-module rebuild exclusion (excludeReBuildModulesPR #9097 was closed unmerged), so the patch is the supported path; revisit if that lands.