# Profiles & installation > Phase 3 (+3.5) · designs: [install pipeline](design-phase-3-install.md) · > [marketplace emitter](design-phase-3.5-marketplace-emitter.md) · > [profile concept](design-profiles.md) A **profile** is a versioned, installable bundle: MCP servers plus resources (skills, hooks, sub-agents, rules, commands). Its entries are *references* to platform resources, so installing a profile fetches the current bodies from the server — the CLI never works off local manifests. ## Installing ### Claude Code — plugin marketplace (preferred) The server emits a Claude-Code-native plugin marketplace. Create a marketplace-scoped PAT (Tokens page), then: ``` claude plugin marketplace add /api/marketplace//marketplace.json claude plugin install @harness-nexus- ``` Claude Code then owns install/update/uninstall itself. The emitted `.mcp.json` defaults to one `hnx mcp serve` entry per profile (client-dialed, no secrets inlined). Requires `PUBLIC_BASE_URL` to be the public HTTPS origin in production. ### Other targets — the `hnx` adapter pipeline ``` hnx install --profile --target [--out] [--apply] ``` `--out` previews the plan (per-file writes with snapshots); `--apply` writes it. `hnx uninstall` reverses an install from the ledger (restores snapshots, keeps your later edits as `*.hnx.bak`). Upgrades are a re-run of `install` — plans are idempotent overwrites. ## Runtime config alongside profiles Machines can also receive **provider config** (model route + credential) per agent target — see [Harness runtime management](harness-runtime-management.md).