---
title: 'flexkit tools'
description: 'Register and sync the production tools URL from your terminal or CI.'
---

# `flexkit tools`

Manages the production custom-tools catalog of a project. It does the same thing as **Sync tools** in Dashboard, so it can run after every deploy in CI.

## Synopsis

```bash
flexkit tools sync [options]
```

## `tools sync`

- Optionally stores a new production tools URL (`--origin`). The URL must be public HTTPS without credentials, query string or hash.
- Asks Flexkit to read the signed catalog from the stored URL, store the tools and sync any code skills it carries.
- Prints the tool names in the catalog and any skill sync warnings.
- Returns a non-zero exit code when the URL is not configured, cannot be reached, or returns an invalid catalog.

Requires the owner or developer role. Both a `flexkit login` session and a project API token (`--token`) work, which makes it suitable for CI.

## Options

- `--project <id>`: Project to sync when `flexkit.config.ts` defines several.
- `--origin <url>`: Store this HTTPS URL as the production tools URL before syncing.
- See also the [global options](/docs/cli/global-options).

## Examples

```bash
# Re-read the catalog from the stored URL after a deploy
flexkit tools sync

# Register the endpoint for the first time
flexkit tools sync --origin https://app.example.com/api/flexkit/tools

# In CI, with a project API token
flexkit --token "$FLEXKIT_TOKEN" tools sync
```

The signing secret is not managed by the CLI. Generate and rotate it in Dashboard and set `FLEXKIT_TOOLS_SECRET` in the deployed environment; see [security and deployment](/docs/automations/custom-tools/security-and-deployment).


---

[View full sitemap](/docs/sitemap.md)
