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

# push

> Push the current local directory to the Openlayer project

The `openlayer push` command is used to push the current local directory to the
Openlayer project [linked](https://docs.openlayer.com/api-reference/cli/commands/link.md).

## Usage

```bash theme={null}
openlayer push [flags]
```

### Examples

```bash theme={null}
# Push with a commit message
openlayer push --message "Initial experiment with smaller model"

# Push without waiting for results
openlayer push --wait=false

# Push and print status updates as plain lines
openlayer push --tail

# Push with custom arguments passed to your batch command – these will get logged in the commit
openlayer push --custom-args learning_rate=0.01,batch_size=32
```

## Flags

| Flag | Alias | Default | Description |
| - | - | - | - |
| `--message` | `-m` | `"Pushed from Openlayer CLI"` | Add a commit message to describe this push. |
| `--wait` | `-w` | `true` | Wait until tests finish running before returning. |
| `--tail` | `-t` | `false` | Print status updates as plain lines, without the live spinner. |
| `--custom-args` | | `""` | Comma-separated list of `key=value` arguments. Overrides any custom args defined in `openlayer.json`. |

## Waiting for results

After the upload, `push` prints a link to the commit in Openlayer, whether or not you
wait. With `--wait` (the default), it then prints a line for each processing step with
its elapsed time, while a spinner underneath shows the current step and progress. When
processing finishes, `push` prints the final status and the test results report.

With `--tail` or [`--output-mode ci`](https://docs.openlayer.com/api-reference/cli/global-options#output-mode),
status updates print as plain lines without the spinner, which keeps CI logs readable.
With `--tail`, progress percentages print at most once every 15 seconds.

`push` waits up to 10 minutes. If the commit is still processing after that, `push` stops
waiting and exits with code `1`, but the commit keeps processing on Openlayer. Follow the
printed link, or run [`openlayer inspect`](https://docs.openlayer.com/api-reference/cli/commands/inspect) with the
commit ID from the message, to see the results.

## Related guides

* [How can I use GitHub Actions with Openlayer?](https://docs.openlayer.com/guides/gh-actions.md)
* [How can I use the Openlayer CLI for the development mode workflow?](https://docs.openlayer.com/guides/cli-push.md)


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