# Use the dvina command

> Learn what the dvina command does when Dvina runs code for you, which commands it has, and which ones ask for your approval.

When Dvina runs code or commands for you, it has a command of its own: `dvina`. With it, a script or a few steps in a row can search your Dvina, read and add documents, memory and tasks, and check who has access to an item, as you.

There's nothing to install or sign in to. Dvina uses the command when your request calls for it, and you can ask for it, like "Use dvina to list my tasks and write a summary as a note."

## How it works

- `dvina` works on your own Dvina, as you, with what your role allows and within your usual limits.
- Its access lasts only while Dvina works on your request. When the reply ends, the command can no longer reach your Dvina.
- It reads a file or folder only when a command names it, like a file to upload.

## Commands

Commands are in groups: `dvina <group> <command>`, then the command's arguments and flags.

| Group      | Commands                                                                                                                 |
| ---------- | ------------------------------------------------------------------------------------------------------------------------ |
| `search`   | `dvina search <query>`: search your chats, documents, memory and world at once.                                          |
| `memory`   | `ls`, `show`, `add`, `edit`: list, read, add or change your memory files.                                                |
| `world`    | `topics`, `topic`, `recall`, `feed`: your topics, what Dvina knows about something, and your Feed.                       |
| `docs`     | `ls`, `show`, `read`, `search`, `create`, `upload`, `update`, `mv`, `mkdir`, `rm`: your Library's documents and folders. |
| `canvas`   | `ls`, `show`, `create`, `write-page`: list, read, create or rewrite canvas pages.                                        |
| `tasks`    | `ls`, `show`, `start`, `continue`, `stop`: your background tasks.                                                        |
| `goals`    | `show`, `start`: tasks that work toward a goal.                                                                          |
| `schedule` | `ls`, `add`, `cancel`: scheduled messages and reminders, once or repeating.                                              |
| `agents`   | `ls`, `show`, `create`, `update`: your agents.                                                                           |
| `skills`   | `ls`, `show`, `add`, `edit`: your skills.                                                                                |
| `projects` | `ls`, `show`: your projects.                                                                                             |
| `settings` | `get`, `set`: your preferences, like turning memory on or off.                                                           |
| `share`    | `state`, `with-me`, `add`, `rm`: who has access to an item, what others shared with you, and giving or removing access.  |

`dvina` can't delete anything for good, open public links, connect or disconnect apps, or change admin or billing settings.

### Help and output

- `dvina --help` lists the groups, `dvina <group> --help` lists a group's commands, and `dvina <group> <command> --help` lists a command's arguments and flags.
- Output is short text. Add `--json` for JSON, or `--fields` with a comma-separated list, like `--fields id,title`, to keep only some fields.
- A long list ends with `next: --cursor <c>`. Run the command again with that `--cursor` to get the next page.
- To read a value from a file, add `-file` to its flag, like `--content-file notes.md`. `dvina docs upload <file>` uploads a file, and `dvina skills add <folder>` adds a skill folder with its SKILL.md.

### Exit codes

| Code | Meaning                                                                       |
| ---- | ----------------------------------------------------------------------------- |
| `0`  | Done.                                                                         |
| `1`  | Something else went wrong.                                                    |
| `2`  | The command is wrong. Check its `--help`.                                     |
| `3`  | Not found.                                                                    |
| `4`  | Refused: your access, your company's rules or data protection don't allow it. |
| `5`  | It needs your approval.                                                       |
| `6`  | You've reached your usage limit.                                              |

## Approve changes

- Commands that read run without asking.
- Commands that add something new, like `docs create`, `memory add` or `tasks start`, run without asking. They never change what's already there.
- Commands that change or remove something ask you first: moving, renaming, moving to the trash, replacing a note or memory file, rewriting a canvas page, changing an agent or skill, stopping a task, canceling a scheduled message, and sharing. Dvina shows an approval card in the chat with its own summary of the change, and asks every time. When you reject it, nothing changes.

What `dvina` adds or changes goes through your company's data protection rules and is recorded in your [audit log](/docs/teams/audit-log), the same as Dvina's other actions.

## Related

- [Use Dvina from other apps with MCP](/docs/connectors/dvina-mcp)
- [Tasks](/docs/use-dvina/features/tasks)
- [Connectors overview](/docs/connectors/overview)
