Home/Install/Cargo
Cargo Install

Install CodeWhale with cargo when Rust is already part of your normal terminal workflow

If you searched for DeepSeek TUI but your real CLI habits already live in Rust, the current upstream route is CodeWhale through cargo. That path makes the most sense when you already trust cargo for updates and want one toolchain to own the binary.

Site detail pageInstall CodeWhale with cargo (DeepSeek TUI Rename Guide)Install

DeepSeek TUI has been renamed to CodeWhale

Upstream now ships the project under the new name. For fresh installs, use npm install -g codewhale and launch it with codewhale.

The older deepseek and deepseek-tui names still exist as compatibility shims for now, but upstream documents them as transitional and scheduled for removal in v0.9.0.

Questions this page should answer fast

  • When does cargo reduce complexity instead of adding it?
  • What should you check after a cargo install or update?
  • Which problems belong to Rust toolchain setup rather than the app itself?

What to verify next

  • Confirm `codewhale --version` in a fresh shell.
  • Check whether an older npm or manual binary is shadowing the cargo install.
  • Move immediately into provider and config setup once the binary is confirmed.

Common mistakes

  • Installing Rust only for one app without understanding where cargo puts binaries.
  • Leaving an older global npm install ahead of cargo in PATH.
  • Assuming a successful cargo build means provider configuration is also ready.

Recommended reading order

Move through the page by workflow need first, then branch into adjacent detail pages or hubs.

Step 1

Verify cargo first

Check `cargo --version` before treating the cargo route as ready. Missing toolchain pieces should be fixed before the app install step.

Step 2

Install through the active toolchain

Keep your install tied to the same Rust toolchain you actually use in your shell, especially on multi-toolchain machines.

Step 3

Validate the resulting binary path

Make sure the cargo-owned binary is the one your shell sees after install and after a restart.

Use-it-now examples

Start from working examples first, then adjust the details.

Verify cargo owns the binary you are about to trust

Before you debug the app, prove that the Rust toolchain and the resolved binary path line up in the same shell.

cargo --version
cargo install codewhale-cli --locked
codewhale --version
command -v codewhale || which codewhale

Check for a shadowed older install

If cargo install worked but behavior did not change, inspect whether npm or a manual binary still wins PATH.

command -v codewhale || which codewhale
codewhale --version
# compare with the expected cargo bin path

Re-check the cargo bin path after a fresh shell

Cargo installs often look correct in the install shell. Reopen the terminal and confirm the same path still wins before you move into provider setup.

command -v codewhale || which codewhale
codewhale --version
# reopen shell and repeat

Common failure branches

Work out which layer failed first instead of treating every problem as the same.

Cargo finished cleanly but the command still looks old

That usually means an older binary is still resolving first. Check PATH ownership before touching provider config.

`cargo install` fails before the app even builds

Treat that as a Rust toolchain problem first. Fix cargo and the build environment before you debug CodeWhale itself.

The command changed, but the next shell cannot find it

That usually means cargo bin is not exported consistently across shells. Fix shell startup before you debug provider auth.

When to leave this page

Once the route is clear, leave this page quickly. Install pages should hand you into config, config pages should send you into provider or troubleshooting, and MCP or mode pages should send you back into live workflow decisions. A detail page is valuable because it narrows the problem, not because you stay on it forever.