---
slug: "pi-ask-smarter-model"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/Krystofee/pi-ask-smarter-model@main/README.md"
repo: "https://github.com/Krystofee/pi-ask-smarter-model"
source_file: "README.md"
branch: "main"
---
# pi-ask-smarter-model

[![npm version](https://img.shields.io/npm/v/pi-ask-smarter-model)](https://www.npmjs.com/package/pi-ask-smarter-model)
[![npm downloads](https://img.shields.io/npm/dm/pi-ask-smarter-model)](https://www.npmjs.com/package/pi-ask-smarter-model)
[![license](https://img.shields.io/npm/l/pi-ask-smarter-model)](LICENSE)

A [pi](https://github.com/badlogic/pi-mono) extension that gives any agent an escape hatch: an `ask_smarter_model` tool to consult a **stronger model** on problems it can't crack alone. Default target is **Claude Fable 5** with maximum thinking (`xhigh`).

Run a cheap, fast model for everyday work — and let it phone the smartest model only when it's actually stuck.

![Demo](https://github.com/Krystofee/pi-ask-smarter-model/raw/HEAD/demo.gif)

## Install

```
pi install npm:pi-ask-smarter-model
```

Or try it without installing:

```
pi -e npm:pi-ask-smarter-model
```

## Usage

Nothing to configure. The agent calls the tool on its own when it hits hard reasoning, tricky debugging, or design decisions it's unsure about — or when you ask explicitly:

```
ask the smarter model why this deadlocks
```

The stronger model does **not** see your conversation. It gets only the prompt the agent writes, so the agent is instructed to include all relevant context, code, and constraints inline. This keeps the call cheap and self-contained.

![Tool call](https://github.com/Krystofee/pi-ask-smarter-model/raw/HEAD/tool-call.png)

Press `ctrl+o` on the tool call to expand the full prompt and full response.

## Tool parameters

| Param    | Required | Description                                                              |
|----------|----------|--------------------------------------------------------------------------|
| `prompt` | yes      | The question/task. The model sees only this — all context must be inline. |
| `model`  | no       | Override as `provider/id` (e.g. `anthropic/claude-opus-4-8`) or bare id.  |

## Model resolution

Without an override, the tool defaults to Claude Fable 5 from pi's model registry. Any model works as long as it's in pi's model registry. The call always uses `reasoning: "xhigh"`.

## Why not a subagent?

A subagent explores on its own — reads files, runs commands, burns tokens. `ask_smarter_model` is a single one-shot completion: one focused question in, one deeply-reasoned answer out. It's the right shape for "I need a second opinion from someone smarter", not "go do this for me".

## Requirements

- pi with `@earendil-works/pi-ai` and `@earendil-works/pi-coding-agent` >= 0.77

## License

ISC
