# Free documentation knowledge for your coding agent: current docs, no setup

Canonical: https://freepi.ai/blog/free-documentation-knowledge

![Free documentation knowledge for your coding agent: current docs, no setup](https://freepi.ai/blog/free-documentation-knowledge/opengraph-image)

Published Oct 20, 2026 · Free AI coding guide

free-pi now gives its coding agent access to current library documentation, free of charge. CLI 0.4.6 adds a built-in `docs_lookup` tool. Before the agent writes code against a library or framework, it can fetch the current, version-relevant docs and code examples, and write from those. We build free-pi, so read this with that in mind.

The problem it solves is that models learn libraries from training data, and libraries keep changing. The model may remember an API as it was a year or two ago. Documentation is the source of truth, and the agent can now read it.

## How it is free

free-pi is a free coding agent paid for by ads shown in the terminal. Everything you use comes out of a free daily allowance that those ads pay for.

`docs_lookup` runs on free-pi's servers. There is no API key, no separate account and no setup. Each lookup uses a small part of your daily allowance, and the agent is told to look things up purposefully.

Many coding agents need you to set up an API key or an MCP server (a plug-in server that adds tools to an agent) to get documentation access. With free-pi you install nothing extra.

## What it returns

The agent gives the tool a library name and a question. It gets back the matching documentation and code examples, and a library id. The agent can reuse that id for follow-up questions about the same library, so later lookups are more precise.

You do not call the tool yourself. You ask your question, and the agent decides when to look at the docs.

## An example from our test

We asked this in a live session:

```
> How do I define a one-to-many relation in a Prisma schema?
> Check the docs, keep it short.

docs_lookup  library="prisma"  query="define one-to-many relation in schema"
  -> Prisma docs section (library_id: /prisma/web)

model User {
  id    Int    @id @default(autoincrement())
  posts Post[]
}

model Post {
  id       Int  @id @default(autoincrement())
  authorId Int
  author   User @relation(fields: [authorId], references: [id])
}

Source: Prisma docs (link included in the agent's answer)
```

The transcript is trimmed. The key lines are `posts Post[]` on the "one" side and `authorId` with `@relation(fields: [authorId], references: [id])` on the "many" side. The agent answered from the documentation it fetched and linked the source.

## How it makes your coding better

The code is written against the docs for the library as it exists now, not against the model's memory of an older version. Examples come from the documentation, so the syntax is more likely to match what your installed version expects. When you hit a follow-up question, the agent can reuse the library id and go straight back to the right docs.

You also stay in one place. You do not need to find the docs page, copy it and paste it into the chat.

## What goes wrong without it

Without access to current docs, a coding agent can fail in these ways:

- **The model uses an API option that was renamed or removed.** The code looks plausible. The build fails, or a warning appears, because the option changed after the model's training cutoff.
- **It suggests an old install command or version.** The command works, but it installs something outdated or a package that has been replaced.
- **It mixes versions.** It combines a pattern from an older major version with a call from a newer one, and the result does not run.
- **It invents a method that sounds right.** Libraries have consistent naming, so a guess can look convincing and still not exist.
- **You carry the docs yourself.** You open a browser, find the right page, copy it and paste it into the chat, so you spend your time on retrieval instead of the task.

Documentation lookup reduces these problems. It does not remove them. The docs can be incomplete, and the agent can still misread them, so run your tests as usual.

## Try it

You need free-pi CLI 0.4.6 or newer.

```bash
npx free-pi-cli
```

Sign in with GitHub, then ask about a library you use, for example "How do I define a one-to-many relation in Prisma? Check the docs." The agent will decide whether to look up the documentation.
