---
title: Install harvest on elementary OS using the Snap Store | Snapcraft
description: Get the latest version of harvest for on elementary OS - AI-powered code
  knowledge graph server and web interface
url: https://snapcraft.io/install/harvest/elementary
---

[Canonical Snapcraft](https://snapcraft.io/)

# Install harvest on **elementary OS**

# harvest

[Clément Gassmann-Prince (thinking-dragon)](https://snapcraft.io/publisher/thinking-dragon "View all snaps from Clément Gassmann-Prince (thinking-dragon)")

* [Clément Gassmann-Prince (thinking-dragon)](https://snapcraft.io/publisher/thinking-dragon "View all snaps from Clément Gassmann-Prince (thinking-dragon)")
* [Development](https://snapcraft.io/search?categories=development)

[Install](https://snapcraft.io/install/harvest/elementary#install)

#### AI-powered code knowledge graph server and web interface

Harvest exposes an AI-powered HTTP API and web interface for querying code
knowledge graphs stored in Neo4j. Agents can connect to it to run commands
on remote machines.

Prerequisites
─────────────
A running Neo4j instance (not bundled in this snap).

Quick start
───────────

1. Set required credentials:
   snap set harvest
   neo4j.password=<neo4j-password>
   llm.primary.provider=anthropic
   llm.primary.api-key=<llm-api-key>
   auth.jwt-secret=$(openssl rand -base64 32)
2. Start the services:
   snap start harvest.serve
   snap start harvest.ui
3. Open <http://localhost:3000> in your browser.

Snap configuration keys
───────────────────────
neo4j.host Neo4j hostname (default: localhost)
neo4j.port Neo4j bolt port (default: 7687)
neo4j.user Neo4j username (default: neo4j)
neo4j.password Neo4j password (required)
server.host API bind address (default: 127.0.0.1)
server.port API port (default: 8080)

LLM providers — define any number with user-chosen names:
llm.<name>.provider anthropic | gemini | openai-compatible
llm.<name>.api-key API key (setting this enables the provider)
llm.<name>.model Model name
llm.<name>.base-url Base URL (openai-compatible only)
llm.<name>.timeout-secs Per-request timeout (default: 120)
llm.<name>.max-retries Retry limit per request (default: 3)
llm.<name>.priority Lower = tried first on rate limits (default: 0)

Example — Anthropic primary, Gemini fallback:
snap set harvest
llm.primary.provider=anthropic llm.primary.api-key=sk-ant-...
llm.fallback.provider=gemini llm.fallback.api-key=AIza...
llm.fallback.priority=1

agent.max-iterations Agent iteration limit (default: 20)
agent.compaction-threshold-chars Context compaction trigger (default: 40000)
agent.compaction-keep-last Messages kept after compaction (default: 6)
auth.jwt-secret JWT signing secret (required)
auth.allow-local-login Enable username/password login (default: true)
auth.google.client-id Google OAuth client ID (optional)
auth.google.client-secret Google OAuth client secret (optional)
auth.google.redirect-uri Google OAuth redirect URI (optional)
auth.oidc.issuer-url OIDC provider URL (optional)
auth.oidc.client-id OIDC client ID (optional)
auth.oidc.client-secret OIDC client secret (optional)
auth.oidc.redirect-uri OIDC redirect URI (optional)
auth.oidc.display-name OIDC provider display name (optional)
agents.public-url Public URL for agent callbacks (optional)
docs.dir Documentation directory (default: $SNAP\_COMMON/docs)
ui.enable-docs Show docs page in web UI (default: false)
ui.host Web UI bind address (default: 127.0.0.1)
ui.port Web UI port (default: 3000)

### Package name

* harvest

---

### License

* unset

---

### Last updated

* 16 October 2026 - latest/edge

---

##### Report a Snap Store violation

* [Report this Snap](https://snapcraft.io/install/harvest/elementary#report-snap-modal)

---

## Enable snaps on elementary OS and install harvest

Snaps are applications packaged with all their dependencies to run on all popular Linux distributions from a single build. They update automatically and roll back gracefully.

Snaps are discoverable and installable from the [Snap Store](https://snapcraft.io/store), an app store with an audience of millions.

### Enable snapd

Snap can be installed on elementary OS from the command line. Open *Terminal* from the Applications launcher and type the following:

```
sudo apt update
sudo apt install snapd
```

Either log out and back in again, or restart your system, to ensure snap’s paths are updated correctly.

### Install harvest

To install harvest, simply use the following command:

```
sudo snap install harvest --edge
```

### Other popular snaps…

[See more...](https://snapcraft.io/search?categories=featured)

[See more in Featured](https://snapcraft.io/search?categories=featured)

### More things to do…

#### [Get the snap store](https://snapcraft.io/snap-store)

Browse and find snaps from the convenience of your desktop using the snap store snap.

#### [Learn more about snaps](https://snapcraft.io/docs)

Interested to find out more about snaps? Want to publish your own application? Visit [snapcraft.io](https://snapcraft.io/) now.

[Back to top](https://snapcraft.io/install/harvest/elementary)

© 2026 Canonical Ltd.
Ubuntu and Canonical are registered trademarks of Canonical Ltd.

Powered by [Charmed Kubernetes](https://www.ubuntu.com/kubernetes)

[Join the forum](https://forum.snapcraft.io/), contribute to or report problems with,
[snapd](https://bugs.launchpad.net/snapd),
[Snapcraft](https://bugs.launchpad.net/snapcraft),
or [this site](https://github.com/canonical/snapcraft.io/issues/new).

* [Share on Twitter](https://twitter.com/snapcraftio)
* [Share on Facebook](https://www.facebook.com/snapcraftio)
* [Share on YouTube](https://www.youtube.com/snapcraftio)

* [Terms of Service](https://ubuntu.com/legal/terms-and-policies/snap-store-terms)
* [Data privacy](https://www.ubuntu.com/legal/data-privacy)
* [Manage your tracker settings](https://snapcraft.io/install/harvest/elementary)
* [Service status](https://status.snapcraft.io/)
* [Other functions](https://dashboard.snapcraft.io/)
* [Contact us](https://snapcraft.io/about/contact-us)
