> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opper.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration & legacy SDKs

> Coming from the standalone agent SDKs? Here's where to look

The Agent SDK now ships inside the `opperai` package. The previous standalone agent SDKs no longer get updates. They're still installable, and we keep links to the old repos here for anyone on those versions.

## Are you on a legacy version?

| Language   | Legacy package                                                     | Last legacy version | New package                                                 |
| ---------- | ------------------------------------------------------------------ | ------------------- | ----------------------------------------------------------- |
| Python     | [`opper-agents`](https://pypi.org/project/opper-agents/)           | `<= 0.4.0`          | [`opperai`](https://pypi.org/project/opperai/) `>= 2.0`     |
| TypeScript | [`@opperai/agents`](https://www.npmjs.com/package/@opperai/agents) | `<= 0.8.0`          | [`opperai`](https://www.npmjs.com/package/opperai) `>= 4.0` |

If you're on a version at or below those, you're on the legacy SDK.

## Migration guides

The new repo has a migration guide for each language. They cover the breaking changes: imports, constructors, method renames, schema changes, and MCP config.

<CardGroup cols={2}>
  <Card title="Python migration guide" icon="python" href="https://github.com/opper-ai/opper-sdks/blob/main/python/MIGRATION.md">
    `opperai` 1.x + `opper-agents` 0.x → `opperai` 2.0
  </Card>

  <Card title="TypeScript migration guide" icon="js" href="https://github.com/opper-ai/opper-sdks/blob/main/typescript/MIGRATION.md">
    `opperai` 3.x + `@opperai/agents` 0.x → `opperai` 4.0
  </Card>
</CardGroup>

The headline changes:

* `from opper_agents import ...` → `from opperai.agent import ...` (Python) / `from '@opperai/agents'` → `from 'opperai'` (TS)
* `agent.process(...)` → `agent.run(...)`; result is `{ output, meta }`
* `description=` → `instructions=` on the `Agent` constructor
* `Hooks` is now a typed object (Python `Hooks(...)`, TS `Hooks` interface), not individual `@hook` decorators

## Legacy repos (read-only)

These repositories are kept up for reference. New work happens in [`opper-ai/opper-sdks`](https://github.com/opper-ai/opper-sdks).

|         | Python                                                               | TypeScript                                                                     |
| ------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| Repo    | [`opperai-agent-sdk`](https://github.com/opper-ai/opperai-agent-sdk) | [`opperai-agent-sdk-node`](https://github.com/opper-ai/opperai-agent-sdk-node) |
| Package | [`opper-agents`](https://pypi.org/project/opper-agents/)             | [`@opperai/agents`](https://www.npmjs.com/package/@opperai/agents)             |

If you're starting a new project, install `opperai` and follow the [Quickstart](/agents/quickstart). If you're maintaining a project that pins `opper-agents` or `@opperai/agents`, the legacy packages still work, but new features land only in `opperai`.
