# Troubleshooting (/docs/troubleshooting)

> Fix the errors a first project is most likely to hit.

Run `plico readiness <project>` first. It lists what is missing before you start a run.

## The model is not configured

`plico readiness` warns "No model configured". Add `model: { provider, name }` to
`plico.config.ts`. See [Providers](/docs/providers).

## "Set ANTHROPIC_API_KEY to run the configured model"

The key is not in the environment. Copy `.env.example` to `.env`, fill it in, and run from the
project folder. A variable already set in your shell wins over `.env`. Use `model.apiKeyEnv` to
read a different variable.

## "Install @ai-sdk/anthropic to use this model provider"

Native providers load an optional adapter package. Install the one your provider needs:
`@ai-sdk/anthropic`, `@ai-sdk/openai` or `@ai-sdk/google`. `create-plico` adds it for you.

## "Unknown model provider"

`model.provider` is not `anthropic`, `openai`, `google` or `openai-compatible`, and there is
no `providers/<name>.ts` file. Fix the name or add the module.

## "Model provider rejected the request (HTTP 404)"

The message ends with the provider's own explanation. The usual cause is a model name the provider no
longer serves: model names get retired, and some providers still list a retired model. List the
models your key can use (for Google, `GET /v1beta/models`; for OpenAI-compatible servers,
`GET /models`) and set `model.name` in `plico.config.ts` to one of them.

## "The conversation is too long for the model's context window"

The thread outgrew the model. Start a new thread or choose a model with a larger context.

## A run is stuck on waiting

The run is waiting for an approval. Open it in Studio, or send the decision to
`POST /v1/runs/<run-id>/signal`. See [Approvals](/docs/approvals). A waiting run stops by itself
after `approvals.timeoutMs`, 30 minutes by default. To end one now, run `plico cancel <run-id>`.

## "Project changed during run"

A run that was waiting resumed after a tool file under `tools/` changed. Instructions and skills
are pinned, so editing them does not cause this. Start a new run. See
[Upgrading](/docs/upgrading#runs-that-are-waiting).

## "Port 3000 is already in use"

Another process holds the port `plico serve` wants. Stop it, or pick another port:
`plico serve --studio --port 3001 .`. Open the address `plico serve` prints.

## Studio shows no runs

`plico serve` stores runs under `.plico/` in the project folder. Serve the same folder you ran
from, or pass `--db` to point at the database.

## Skill or tool is rejected

`plico validate` names the file. A skill needs a `description` in `skills/<name>/SKILL.md`, and
tool names must be unique.