---
title: "Check your toolchain"
description: "Compare your project with the pinned Solana toolchain and apply the proposed fixes in a worktree."
url: https://barestate.xyz/docs/guides/check-your-toolchain
---

# Check your toolchain

> Compare your project with the pinned Solana toolchain and apply the proposed fixes in a worktree.

If a build fails in a way that smells like version drift, this guide shows you how to compare your project with the toolchain OMS pins and, if you want, apply the proposed fixes.

## Check

```sh
oms toolchain check --project <path>
```

OMS reads `Anchor.toml`, `Cargo.toml`, `Cargo.lock`, `package.json` and source files, and it does not run your code. It compares what it finds with Anchor 1.2.2, Solana and Agave 4.4.1, platform-tools 1.58, npm and SBPF arch v3. See [Project detection](https://barestate.xyz/docs/concepts/project-detection).

Each finding has a rule id (`anchor`, `pins`, `crates`, `duplicates`, `client`, `transaction`, `arch` or `advisory`), a source URL and an observation date.

## Fix

```sh
oms toolchain fix --project <path>
```

`fix` only prints proposed edits. It does not change files, and any commands are proposed, not run.

```sh
oms toolchain fix --project <path> --apply
```

`--apply` writes the edits, but only inside a linked Git worktree and after preimage checks. Add `--verify` to verify afterwards.

## If it fails

TOML parsing needs Python 3.11 or newer, so check `python3 --version`. `--apply` refuses to run outside a linked Git worktree, so create one and run it again. If you hit a limit (depth 12, 2,000 files, 2 MB per file, 16 MB total), narrow `--project` to the package you care about.
