---
title: CLI Quick Start
description: Install with the curl script or npm, sign in with ivybloom auth login --browser, then fold a sequence with ivybloom run esmfold and download the result.
tags:
  - quickstart
  - tutorial
  - getting-started
---

This quick start walks you from install through your first job in under a minute, so you can drive protein folding, docking, and analysis from your terminal. Reach for it the first time you set up the CLI or when onboarding a teammate to the scriptable workflow. Everything you run here shares one backend and job history with the web platform, so results show up wherever you work. For the complete CLI surface, see the [CLI overview](/docs/cli).

  beginner

## Quick Start

Get up and running with the ivybloom CLI in under a minute.

---

## Step 1: Install

#### macOS & Linux (Recommended)

```bash
curl -fsSL https://www.ivybiosciences.com/install | bash
```

#### Windows (PowerShell)

```powershell
irm https://www.ivybiosciences.com/install.ps1 | iex
```

#### All Platforms (npm)

```bash
npm install -g @ivybiosciences/ivybloom-cli
```

Verify installation:
```bash
ivybloom version
```

> For detailed installation options, troubleshooting, and CI/CD setup, see the [Installation Guide](/docs/cli/install).

---

## Step 2: Authenticate

Choose your preferred authentication method:

### Browser Login (Recommended)

```bash
ivybloom auth login --browser
```

This opens your browser to authenticate with your Ivy Biosciences account.

### API Key

```bash
ivybloom auth login --api-key ivy_yourKeyId_yourSecret
```

### Device Flow (SSH/Headless)

```bash
ivybloom auth login --device
```

Follow the prompt to authenticate on another device.

> For CI/CD pipelines, use environment variables:
>```bash
export IVYBLOOM_API_KEY=ivy_yourKeyId_yourSecret
```

---

## Step 3: Verify

```bash
ivybloom auth status
```

Or check who you're logged in as:

```bash
ivybloom auth whoami
```

Verify system health:

```bash
ivybloom health
ivybloom health --full    # Detailed diagnostics
```

---

## Step 4: Run Your First Analysis

### Protein Structure Prediction

```bash
ivybloom run esmfold protein_sequence=MKLVFFAEDVGSNKGAIIGLMVGGVVIA
```

### ADMET Property Prediction

```bash
ivybloom run admet smiles='CCO'
```

### Molecular Docking

```bash
ivybloom run diffdock receptor=protein.pdb ligand=molecule.sdf
```

### Interactive Mode

Use guided form-based parameter entry:

```bash
ivybloom run esmfold --interactive
```

### Natural Language

Or describe what you want in plain English:

```bash
ivybloom orchestrate "Predict the structure of MKLVFFAEDVGSNKGAIIGLMVGGVVIA"
```

### Follow Job Progress

Add `--follow` to watch job progress in real-time:

```bash
ivybloom run esmfold protein_sequence=MKLVFFAEDV... --follow
```

Or wait for completion with automatic polling:

```bash
ivybloom run esmfold protein_sequence=MKLVFF --wait --timeout 30m
```

---

## Step 5: Check Job Results

### List Your Jobs

```bash
ivybloom jobs list
```

### Get Job Status

```bash
ivybloom jobs status JOB_ID
```

### Download Results

```bash
ivybloom jobs download JOB_ID --output ./results
```

---

## Essential Commands

| Command | Description |
|---------|-------------|
| `ivybloom auth login --browser` | Authenticate with your account |
| `ivybloom auth status` | Check authentication status |
| `ivybloom tools list` | List available computational tools |
| `ivybloom run TOOL param=value` | Submit a job |
| `ivybloom jobs list` | List your jobs |
| `ivybloom jobs status JOB_ID` | Check job status |
| `ivybloom jobs download JOB_ID` | Download job results |
| `ivybloom` | Launch the interactive dashboard |
| `ivybloom batch submit jobs.yaml` | Run parallel jobs |
| `ivybloom compounds search COLL --type similarity --smiles "CCO"` | Search compounds |
| `ivybloom orchestrate "fold BRCA1"` | Natural language |
| `ivybloom mcp serve` | Start MCP server |
| `ivybloom health --full` | System diagnostics |
| `ivybloom --help` | Show help |

---

## Interactive Mode

For a conversational AI experience, launch the TUI:

```bash
ivybloom
```

The TUI provides:
- Chat interface with AI for drug discovery workflows
- Context panel showing files, jobs, and artifacts
- Slash commands via command palette (`Ctrl+P`)
- Real-time job monitoring with streaming updates
- File attachments (`@`) and tool actions (`!`)

See the [Interactive TUI Guide](/docs/cli/tui) for keyboard shortcuts and features.

Or start a simpler interactive shell:

```bash
ivybloom shell
```

---

## What's Next?

Choose your path:

### Scientists
- [Compounds](/docs/cli/compounds) — Build and search molecular libraries
- [Protein Preparation](/docs/cli/proteinprep) — Prepare structures for docking
- [Batch Processing](/docs/cli/batch) — Screen compounds at scale

### Developers
- [MCP Integration](/docs/cli/mcp) — Connect AI agents to the platform tool catalog
- [Agent Mode](/docs/cli/agent-mode) — Automate with structured JSON output
- [Workflows](/docs/cli/workflows) — Build multi-step pipelines

### Teams
- [Organizations](/docs/cli/organizations) — Collaborate with team members
- [Billing & Credits](/docs/cli/billing) — Track usage and costs
- [Sessions](/docs/cli/sessions) — Persistent conversations with checkpoints

### Reference
- [Commands Reference](/docs/cli/commands) — Full command documentation
- [Configuration](/docs/cli/configuration) — Customize CLI behavior
- [FAQ](/docs/cli/faq) — Common questions

#### Install the CLI

  Run curl -fsSL https://www.ivybiosciences.com/install | bash or npm install -g @ivybiosciences/ivybloom-cli to install the ivybloom CLI.

#### Authenticate

  Run ivybloom auth login --browser to open browser-based authentication, or use --api-key for CI/CD pipelines.

#### Verify setup

  Run ivybloom auth status and ivybloom health --full to confirm authentication and system connectivity.

#### Run your first analysis

  Submit a job with ivybloom run esmfold protein_sequence=MKLVFFAEDVGSNKGAIIGLMVGGVVIA to predict a protein structure.

#### Check results

  Use ivybloom jobs list to see your jobs and ivybloom jobs download JOB_ID --output ./results to retrieve results.
