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

# push

The `push` command is used to register an agent. This command will create a new agent if it doesn't already exist, or update an existing agent if it does.

<CodeGroup>
  ```bash bash theme={null}
  blocks push <relative-path-to-filename>
  ```
</CodeGroup>

If your folder structured looked like the following:

```
.blocks/
    your_agent/
        filename.py
```

You'd run:

<CodeGroup>
  ```bash bash theme={null}
  blocks push .blocks/your_agent/filename.py
  ```
</CodeGroup>

When you change your agent's `pip` or `plugins` dependencies, the command may take a few minutes to complete, since we need to build a runtime for your agent. Subsequent pushes will execute immediately, assuming the dependencies have not changed.

The `name` of an agent is specified in the `agent` decorator. This is used to identify an agent and must be unique per workspace. Changing this will create a new agent.
