---
title: Harnesses & personalities
description: A harness is the coding agent that runs inside a session; a personality is the skillset applied to it at provision time.
status: verified
sidebar:
  order: 3
---

Two more concepts shape how a session behaves: the **harness** and the
**personality**.

## Harness

The **harness** is the coding agent running inside the session VM — Claude
Code, Codex, Gemini, or a custom agent. Your fleet sets a default harness and
model; a session can switch mid-thread with the `!provider` and `!model`
commands (see the [Slack guide](/sessions/guides/slack/)).

The harness is orthogonal to the
[compute provider](/sessions/concepts/fleets-and-providers/): choosing Claude
Code does not decide whether you run on Sprites or Modal.

## Personality (skillset)

A **personality** is the [skillset](/skillsets/) applied to a session when it
is provisioned — the prompts, rules, and configuration that shape how the
agent works. Your fleet has a default personality; individual sessions can
override it (name a skillset when starting the session, or switch mid-thread
with `!skillsets switch`), and [triggers](/sessions/guides/triggers/) can set
their own.

Personalities are where Sessions and the open-source [Skillsets](/skillsets/)
project meet: the same skillset format that improves a local agent also
configures a managed session.

## Next steps

- [Integrations & credentials](/sessions/guides/integrations/) — connect the agent providers each harness needs.
- [Slack guide](/sessions/guides/slack/) — switching harness, model, and skillset from a thread.
- [Skillsets](/skillsets/) — the open-source project behind personalities.
