What it reads
The toolchain reader opens onlyAnchor.toml, Cargo.toml, Cargo.lock, package.json, config and config.toml, plus files ending in .ts, .tsx, .js, .mjs and .rs. It skips symlinks and these folders: .git, .oms, node_modules, target, vendor and .oms-cargo.
TOML files are parsed by
python3 -I with tomllib, so this needs Python 3.11 or newer.
What it checks against
The pinned versions are Anchor 1.2.2, Solana and Agave 4.4.1, platform-tools 1.58, npm, and SBPF arch v3. The rules areanchor, pins, crates, duplicates, client, transaction, arch and advisory. Each finding carries a source URL and an observation date of 2026-11-08.
The advisory rule flags Anchor 1.0.0 and 1.0.1, but only when the lock file confirms the version.
Where you see it
In a session, a summary of the report goes into the system prompt as untrusted project data, and the model can call atoolchain_check tool for the full report. On the command line, run oms toolchain check. See Check your toolchain. OMS also lists installed program clients from node_modules/<client>/package.json as “name version”.
Other detection
For lookups, OMS reads manifests (Cargo.toml, package.json, Anchor.toml and programs/*/Cargo.toml, 200 KB in total) and imports from at most 200 files and 200 names. It doesn’t follow symlinks, and it skips node_modules, target and dot folders.