# Turn tool calls on for a model

## What “not reported” means

A request that uses tools goes only to a machine that has said its model supports tool
calls. Some engines don't publish that, and Saylek doesn't assume it. Until someone
declares it, `saylek model ls` shows "tools not reported" under the model, the model
takes requests without tools only, and a request with tools is refused with
`no_capable_model` and `"cause": "not_reported"`.

If the model runs on someone else's machine, ask the person who shared it with you to turn
tool calls on, or send the request without tools.

## Declare it

On the machine that serves the model, run `saylek model ls` and copy the command it
prints under the model. It names that model's real URL and model id:

```bash
saylek model set URL \
  --declared-tool-calling \
  --model MODEL_ID
```

Declare it only if the model can call tools: requests with tools will be sent to it.

## Check it worked

Run `saylek model ls` again: the "tools not reported" line under the model is gone. While
the machine is connected, Saylek picks up the declaration within a minute. Then send the
request with tools again.

## If you declared it by mistake

```bash
saylek model set URL \
  --declared-tool-calling=false \
  --model MODEL_ID
```

This says the model does not support tool calls, which is not the same as never having
declared it: requests with tools to that model are still refused, and the refusal no
longer says "not reported".

## Reference

- [Troubleshooting](/docs/troubleshooting): other refusals and what they mean.
- [CLI reference](/docs/cli-reference): everyday commands; `saylek model set --help` lists every flag.
