# The Voholabs CLI and agent skill

> The Voholabs CLI lets you and your agents manage Voholabs Studio from a terminal. Install it with npm install -g github:voholabs/voholabs-studio-cli, sign in with voholabs auth:login or set VOHOLABS_API_KEY, and then create posts, upload media and read analytics with commands such as voholabs posts:create.

Source: https://voholabs.com/docs/cli  
Last updated: 5 October 2026

## How do I install the CLI?

1. Install it from GitHub with npm (or pnpm):

   ```bash
   npm install -g github:voholabs/voholabs-studio-cli
   ```

2. Sign in. On your own computer, use your browser:

   ```bash
   voholabs auth:login
   ```

   The CLI shows a one-time code and a Studio address. Open it, sign in and approve the code. Credentials are saved in `~/.voholabs/credentials.json`.

3. Give your AI agent the Voholabs skill, so it knows how to use the CLI:

   ```bash
   npx skills add voholabs/voholabs-studio-cli
   ```

Check the sign-in at any time with `voholabs auth:status`, and remove it with `voholabs auth:logout`.

## How do I use the CLI in CI or on a server?

Skip the browser sign-in and set your API key as an environment variable instead:

```bash
npm install -g github:voholabs/voholabs-studio-cli
export VOHOLABS_API_KEY="YOUR_API_KEY"
```

Your key is in **Settings › Connect Agent** in Studio, where the **CLI & AI Skills** card also shows these steps with your key filled in. Keep it in your CI's secret store, never in the repository. If both are present, a browser sign-in takes priority over the key.

## How do I schedule a post?

Find the channel ID, then create the post:

```bash
voholabs integrations:list
voholabs posts:create -c "Launching today" -s "2026-11-02T09:00:00Z" -i "YOUR_CHANNEL_ID"
```

Useful options for `posts:create`:

- `-c` the text. Repeat it for follow-up parts such as a thread or comments.
- `-m` media for the `-c` part it follows, as comma-separated addresses of files already online. Use `voholabs upload` first for a local file.
- `-i` one or more channel IDs, comma-separated.
- `-s` the date and time, in ISO 8601. Required.
- `-t` `schedule` (the default) or `draft`.
- `-d` the delay in minutes between follow-up parts.
- `--settings` the channel's own options as JSON, and `-j` to read the whole post from a JSON file.

`voholabs integrations:settings YOUR_CHANNEL_ID` shows each channel's limits and the settings it accepts.

## Which commands are there?

| Area | Commands |
|---|---|
| Sign-in | `auth:login`, `auth:status`, `auth:logout` |
| Channels | `integrations:list`, `integrations:groups`, `integrations:settings`, `integrations:trigger` |
| Posts | `posts:create`, `posts:list`, `posts:status`, `posts:delete`, `posts:missing`, `posts:connect` |
| Scheduling | `slots:next` finds the next free slot for a channel |
| Media | `upload`, `media:list`, `media:delete` |
| Analytics | `analytics:platform`, `analytics:post` |
| Brief | `brief:schema`, `brief:list`, `brief:get`, `brief:set`, `brief:delete`, `brief:onboarding` |
| Skills | `skills:list`, `skills:get` |
| Wallet | `wallet:balance`, `wallet:prices`, `wallet:transactions`, `wallet:estimate` |

Run `voholabs --help`, or add `--help` to any command, for its options. If a command on this page is missing, run the install command again to update the CLI.

Some options worth knowing:

- `analytics:platform YOUR_CHANNEL_ID --fresh` skips the one-hour cache and reads the network again. On the free plan, fresh X reads are charged.
- `brief:delete CATEGORY KEY --keep-history` deletes a brief document but keeps its history, with the removal recorded in it.
- `brief:onboarding` shows the guided onboarding's status and the Studio link to start it.
- `skills:list` takes `--tag` and `--search`; `skills:get SLUG` reads one skill in full.

The brief and skills commands need a paid plan or a topped-up wallet.

## How do I check credits from the CLI?

The wallet commands are for the free plan, where some actions are paid from your wallet. They only read: topping up stays in Studio.

```bash
voholabs wallet:balance
voholabs wallet:prices --provider x
voholabs wallet:estimate --provider x -c "First post" -c "Reply"
voholabs wallet:transactions --type SPEND,REFUND
```

- `wallet:balance` shows your credits, auto top-up and whether scheduled posts are covered.
- `wallet:prices` lists what costs credits. Channels not listed are free.
- `wallet:estimate` prices a post before you schedule it, one `-c` for the post and one for each reply. Nothing is charged.
- `wallet:transactions` lists top-ups, charges and refunds, with `--page`, `--size` and `--type`.

If your credits do not cover an X post, `posts:create` fails with the reason and the top-up link. See [Credits and wallet](https://voholabs.com/docs/billing/credits) and the live [prices page](https://studio.voholabs.com/pricing).

## Which environment variables does it read?

| Variable | Use |
|---|---|
| `VOHOLABS_API_KEY` | Your API key, or an OAuth app's `pos_` token. |
| `VOHOLABS_API_URL` | The API address. Defaults to `https://studio.voholabs.com/api`; you only change it for testing. |

## Frequently asked questions

### Which one should my agent use, the CLI or MCP?

Either works. Chat apps such as Claude and ChatGPT use [MCP](https://voholabs.com/docs/agents/mcp). Agents that run in a terminal, and scripts or CI jobs, often find the CLI simpler, especially with the Voholabs skill installed.

### Can I create a draft without a date?

Not yet. `posts:create` needs `-s` with a date even for drafts. Pick any date; a draft never publishes.

### Can I edit a post from the CLI?

There is no `posts:update` command yet. Delete the post and create it again, or ask an agent connected over MCP to edit it in place.

### Does deleting a published post remove it from the network?

No. `posts:delete` removes the post from Studio only. Delete it on the network as well if you need it gone.

## Related pages

- [Public API](https://voholabs.com/docs/api)
- [Connect your agent](https://voholabs.com/docs/agents)
- [Credits and wallet](https://voholabs.com/docs/billing/credits)
- Source: [voholabs/voholabs-studio-cli](https://github.com/voholabs/voholabs-studio-cli) on GitHub
