> For the complete documentation index, see [llms.txt](/llms.txt).

# Troubleshooting

Symptom-first fixes for common `mm` CLI issues.

## Authentication and access[​](#authentication-and-access "Direct link to Authentication and access")

### `AUTH_FAILED`, `TOKEN_INVALID`, or `TOKEN_REFRESH_FAILED`[​](#auth%5Ffailed-token%5Finvalid-or-token%5Frefresh%5Ffailed "Direct link to auth_failed-token_invalid-or-token_refresh_failed")

Sign in again:

```
mm login
mm auth status

```

For CI or headless agents, use `mm login --token "<cliToken:cliRefreshToken>"`.

### Early Access required[​](#early-access-required "Direct link to Early Access required")

If commands fail with authorization errors after sign-in, confirm your account has Early Access at [MetaMask Agent Wallet Early Access](https://metamask.io/agent-wallet).

### Reset local session[​](#reset-local-session "Direct link to Reset local session")

```
mm reset
mm login
mm init --wallet server-wallet --mode guard

```

## Perpetuals[​](#perpetuals "Direct link to Perpetuals")

### `HYPERLIQUID_ERROR` or `ORDER_REJECTED` on first perpetuals trade[​](#hyperliquid%5Ferror-or-order%5Frejected-on-first-perpetuals-trade "Direct link to hyperliquid_error-or-order_rejected-on-first-perpetuals-trade")

Deposit USDC from Arbitrum before opening a position:

```
mm perps deposit --venue hyperliquid --amount <AMOUNT>
mm perps balance --venue hyperliquid

```

See [Trade perpetuals](/agent-wallet/guides/trade-perpetuals/).

## Prediction markets[​](#prediction-markets "Direct link to Prediction markets")

### `JsonRpcError: execution reverted` on predict deposit[​](#jsonrpcerror-execution-reverted-on-predict-deposit "Direct link to jsonrpcerror-execution-reverted-on-predict-deposit")

Run setup and fund the predict wallet with Polygon USDC.e:

```
mm predict setup --wait
mm predict deposit --amount <AMOUNT> --wait

```

See [Trade prediction markets](/agent-wallet/guides/trade-prediction-markets/).

## Swaps[​](#swaps "Direct link to Swaps")

### `NO_QUOTES` or no quote ID from `mm swap quote`[​](#no%5Fquotes-or-no-quote-id-from-mm-swap-quote "Direct link to no_quotes-or-no-quote-id-from-mm-swap-quote")

Liquidity may be unavailable for the token pair or chain. Do not call `mm swap execute` without a valid `quoteId` from a successful quote step.

### Swap execute fails after a quote[​](#swap-execute-fails-after-a-quote "Direct link to Swap execute fails after a quote")

Re-run `mm swap quote` and execute immediately. Quotes can expire.

## Transfers[​](#transfers "Direct link to Transfers")

### Insufficient balance on the target chain[​](#insufficient-balance-on-the-target-chain "Direct link to Insufficient balance on the target chain")

`mm transfer` only spends balances on the chain specified by `--chain-id`. Bridge tokens with `mm swap execute` first.

### ENS names not resolving[​](#ens-names-not-resolving "Direct link to ENS names not resolving")

ENS is not supported for `--to`. Use a hex address.

## Server-wallet polling[​](#server-wallet-polling "Direct link to Server-wallet polling")

### Command returned a `pollingId` but no hash[​](#command-returned-a-pollingid-but-no-hash "Direct link to command-returned-a-pollingid-but-no-hash")

Use `--wait` on signing and transfer commands, or watch the job:

```
mm wallet requests watch --polling-id <POLLING_ID>

```

See [Architecture](/agent-wallet/reference/architecture/).

## 2FA approval pending[​](#2fa-approval-pending "Direct link to 2FA approval pending")

If a job status is `AWAITING_MFA`, approve or reject the transaction in MetaMask Mobile or through the email approval link.

## Related pages[​](#related-pages "Direct link to Related pages")

- [Error codes](/agent-wallet/reference/error-codes/)
- [Commands reference](/agent-wallet/reference/commands/)
