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

# Migrate from 0.13 to 0.14

> Move runtime.json and the sidecar file into the Method, and use the new commands.

SDK 0.14.0 reads no `runtime.json`, no `FILE.method.json` sidecar, and no lock file. A Method keeps its models, limits, tools, and ID in the file itself (`format: method/3.4`). Settings of one computer are in `~/.config/method/computer.json`.

## 1. Find what to move

```sh theme={null}
method validate task.method
```

When a `runtime.json` or `task.method.json` is next to the Method, `validate` and `run` stop with the error `legacy_runtime_json` or `legacy_sidecar`. The `fix` says what to move where. `validate` changes no file.

## 2. Move each part

| In 0.13 | In 0.14 |
| - | - |
| `runtime.json` `models` | Top-level `models:` in the Method: `NAME: provider/model`, or `{model, max_output_tokens, reasoning_effort}`. |
| A profile with `backend: codex` or `claude` | `NAME: {agent: codex \| claude, model, reasoning_effort}` in `models:`. |
| `runtime.json` `limits` | Top-level `limits:`. |
| `step_defaults` | `limits.step`. |
| `tools` | Top-level `tools:`. |
| Environment paths | `method bind task.method NAME --file FOLDER`. A folder beside the Method with the connection's name needs nothing. |
| `classification.api_key_env`, `backend: openrouter-chat` with your key | `method config model-key`. |
| `runtimes`, `allow_local_processes` | Nothing. Runtimes are found on `PATH`. |
| `runtimes.*.env` for keys | `secrets:` in the Method, and `method secret import` or `method secret set`. See [Secrets](/guides/secrets). |
| `workflow_id` in `task.method.json` | The line `id: wf_…` directly after `format: method/3.4`. |

Then set `format: method/3.4`, remove `runtime.json` from `files:`, and delete `runtime.json` and `task.method.json`. For example, this `runtime.json` profile:

```json theme={null}
{"models": {"writer": {"backend": "openrouter-chat", "model": "anthropic/claude-haiku-4.5", "api_key_env": "OPENROUTER_API_KEY"}}}
```

becomes this in the Method, as in the shipped `support-triage` example:

```yaml theme={null}
models:
  writer: anthropic/claude-haiku-4.5
```

## 3. Use the new commands

| Removed | Use |
| - | - |
| `method create`, `method save`, `method update` | Nothing: a signed-in run saves a version. `method publish FILE --reason TEXT` publishes it. |
| `--config` | The Method's `models:`, `limits:`, `tools:`, and `method config`. |
| `--from-run`, `--reuse` | Nothing: unchanged steps are reused. `--rerun STEP` or `--fresh` runs them again. |
| `method deploy` | `method connect`, `method worker`, or [Method Cloud](/guides/method-cloud). |
| `TYPESAFE_API_KEY` | `method config model-key`. |

Saved versions that hold a `runtime.json` in their package still run.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.