---
title: "Pi Coding Agent | Ethical Stack"
url: https://ethicalstack.ai/harnesses/pi/
catalog_version: f6baff2119d0e9158520da7fbe4232011dac79f25bd08757436d7a1dbd593db2
---

# Pi Coding Agent

Composable coding agent that coordinates provider requests, local tools, sessions and extensions.

Canonical profile: https://ethicalstack.ai/harnesses/pi/

Scope: Pi coding agent and local session state. Model inference may run locally or through a selected hosted provider; shell tools run with the local account’s permissions.

Published overall: 5.6; 5/6 dimensions rated.

Round the equal-weight mean of available numerical ratings to one decimal; require at least four of six for an overall score. BDS status stays outside the mean; for eligible profiles, a boycott target caps the final score at 2/10 and a pressure target subtracts one point (minimum 1). Not listed and not checked do not adjust the score.

## Energy practices

Finding: 4/10

Assessment: https://ethicalstack.ai/harnesses/pi/#energy

Pi supports local and hosted inference routes, but publishes no energy measurements.

Reason: 1 + 1 reporting + 0 electricity + 2 controls = 4/10. This grades documented practices and transparency.

Argument: Local execution changes where inference runs. Model and context choices give operators some control but do not measure consumption or electricity sources.

Type: argument; confidence: medium

Scope (dimension): Pi coding agent and local session state. Model inference may run locally or through a selected hosted provider; shell tools run with the local account’s permissions.

Research reviewed: not recorded; evidence date: not recorded

Unknowns: Local device consumption, hosted emissions, water and comparable task-level energy are unknown.

```json
{
  "method": "practices-transparency-v1",
  "scope": "Pi coding agent and local session state. Model inference may run locally or through a selected hosted provider; shell tools run with the local account’s permissions.",
  "components": {
    "disclosure": {
      "score": 1,
      "reason": "Pi documents local and hosted routes without a product footprint.",
      "sourceUrls": [
        "https://pi.dev/docs/latest/models",
        "https://pi.dev/docs/latest/providers"
      ]
    },
    "electricity": {
      "score": 0,
      "reason": "No electricity mix is identified for local or hosted routes.",
      "sourceUrls": [
        "https://pi.dev/docs/latest/models",
        "https://pi.dev/docs/latest/providers"
      ]
    },
    "demand": {
      "score": 2,
      "reason": "Local model selection and context/session controls are available, without measured energy savings.",
      "sourceUrls": [
        "https://pi.dev/docs/latest/how-pi-works",
        "https://pi.dev/docs/latest/models"
      ]
    }
  },
  "actualImpactMeasured": false
}
```

- [Pi agent architecture and sessions](https://pi.dev/docs/latest/how-pi-works) (primary; checked 2026-10-28)

- [Pi security guidance](https://pi.dev/docs/latest/security) (primary; checked 2026-10-28)

- [Pi model selection and local routes](https://pi.dev/docs/latest/models) (primary; checked 2026-10-28)

- [Pi provider documentation including Radius](https://pi.dev/docs/latest/providers) (primary; checked 2026-10-28)

## Training data

Finding: N/A

Assessment: https://ethicalstack.ai/harnesses/pi/#training-rights

Pi does not supply one model corpus; rights depend on the selected model and provider.

Reason: Select the exact model, version and provider route before assessing training-data rights.

Argument: Pi supports local GGUF, hosted providers and compatible endpoints. This creates route choice, not one corpus to score; prompt-retention settings do not establish training-data permission.

Type: argument; confidence: medium

Scope (profile): Pi coding agent and local session state. Model inference may run locally or through a selected hosted provider; shell tools run with the local account’s permissions.

Research reviewed: not recorded; evidence date: not recorded

Unknowns: Provider, model version, inherited base and any fine-tuning corpus vary by route.

Applicability: Select the exact model, version and provider route before assessing training-data rights.

```json
{
  "method": "training-rights-evidence-v1",
  "scope": "The stated training release or selected model",
  "components": null,
  "routeDependency": "Select the exact model, version and provider route before assessing training-data rights.",
  "modelReference": null
}
```

- [Pi model selection and local routes](https://pi.dev/docs/latest/models) (primary; checked 2026-10-28)

- [Pi provider documentation including Radius](https://pi.dev/docs/latest/providers) (primary; checked 2026-10-28)

## Your data & privacy

Finding: 8/10

Assessment: https://ethicalstack.ai/harnesses/pi/#privacy

Pi stores session history locally and can send prompts to a selected provider or keep inference local.

Reason: Pi documents local JSONL sessions, configurable providers and local model execution. Hosted providers receive routed requests. Tools and extensions use the OS permissions of the account unless isolated.

Argument: Pi documents local JSONL sessions, configurable providers and local model execution. Hosted providers receive routed requests. Tools and extensions use the OS permissions of the account unless isolated.

Type: argument; confidence: medium

Scope (profile): Pi coding agent and local session state. Model inference may run locally or through a selected hosted provider; shell tools run with the local account’s permissions.

Research reviewed: not recorded; evidence date: not recorded

Unknowns: Extensions, shell tools, backups and hosted providers can create other copies; local inference alone is not a sandbox.

- [Pi agent architecture and sessions](https://pi.dev/docs/latest/how-pi-works) (primary; checked 2026-10-28)

- [Pi security guidance](https://pi.dev/docs/latest/security) (primary; checked 2026-10-28)

- [Pi model selection and local routes](https://pi.dev/docs/latest/models) (primary; checked 2026-10-28)

- [Pi provider documentation including Radius](https://pi.dev/docs/latest/providers) (primary; checked 2026-10-28)

## Openness

Finding: 8/10

Assessment: https://ethicalstack.ai/harnesses/pi/#openness

Pi is a public, composable coding agent with provider and extension configuration; models and providers retain their own terms.

Reason: Pi’s official repository is public under the MIT license and documents the SDK, provider configuration and extension system. The client is inspectable and modifiable, while model weights, hosted inference and third-party packages have separate terms.

Argument: Pi’s official repository is public under the MIT license and documents the SDK, provider configuration and extension system. The client is inspectable and modifiable, while model weights, hosted inference and third-party packages have separate terms.

Type: argument; confidence: medium

Scope (profile): Pi coding agent and local session state. Model inference may run locally or through a selected hosted provider; shell tools run with the local account’s permissions.

Research reviewed: not recorded; evidence date: not recorded

Unknowns: Each model and provider has distinct licensing and data terms.

- [Pi agent architecture and sessions](https://pi.dev/docs/latest/how-pi-works) (primary; checked 2026-10-28)

- [Pi model selection and local routes](https://pi.dev/docs/latest/models) (primary; checked 2026-10-28)

- [Pi provider documentation including Radius](https://pi.dev/docs/latest/providers) (primary; checked 2026-10-28)

- [Earendil Works Pi repository and MIT license](https://github.com/earendil-works/pi) (primary; checked 2026-10-28)

## Worker protections

Finding: 1/10

Assessment: https://ethicalstack.ai/harnesses/pi/#labour

Earendil Works has no workforce disclosures covering the AI supply chain in the reviewed public sources.

Reason: 1 + 0 + 0 + 0 = 1/10. Documented worker protections; missing disclosure is an evidence gap.

Argument: The reviewed public sources do not describe employee conditions, worker voice, or contractor protections for Earendil Works. Missing disclosure is an evidence gap, not proof of mistreatment.

Type: argument; confidence: medium

Scope (dimension): Earendil Works employees and AI supply-chain workers

Research reviewed: not recorded; evidence date: not recorded

Unknowns: Contractor conditions, data annotation and moderation, worker representation, remedies and independent review remain unknown.

```json
{
  "method": "worker-safeguards-evidence-v1",
  "entity": "earendil-works",
  "company": "Earendil Works",
  "scope": "Earendil Works employees and AI supply-chain workers",
  "components": {
    "conditions": {
      "score": 0,
      "reason": "No worker conditions policy or implementation evidence was found in reviewed sources.",
      "sourceUrls": [
        "https://pi.dev/docs/latest/how-pi-works",
        "https://pi.dev/docs/latest/providers"
      ]
    },
    "voice": {
      "score": 0,
      "reason": "No worker voice, representation or grievance safeguard was found in reviewed sources.",
      "sourceUrls": [
        "https://pi.dev/docs/latest/how-pi-works",
        "https://pi.dev/docs/latest/providers"
      ]
    },
    "assurance": {
      "score": 0,
      "reason": "No independent worker-level evidence was found in reviewed sources.",
      "sourceUrls": [
        "https://pi.dev/docs/latest/how-pi-works",
        "https://pi.dev/docs/latest/providers"
      ]
    }
  },
  "disclosureLimited": true
}
```

- [Pi agent architecture and sessions](https://pi.dev/docs/latest/how-pi-works) (primary; checked 2026-10-28)

- [Pi provider documentation including Radius](https://pi.dev/docs/latest/providers) (primary; checked 2026-10-28)

## Military ties

Finding: 7/10

Assessment: https://ethicalstack.ai/harnesses/pi/#military-contracts

No military relationship was established from the reviewed public sources for Earendil Works; the score reflects uncertainty.

Reason: 7 base + 0 safeguard adjustment = 7/10 (0 of 9 safeguard points; every 3 adds 1). No military relationship was established in the cited sources. This ranks above known defense ties without claiming a verified clean record.

Argument: The sources reviewed did not establish a military contract or operational defense offering for Earendil Works. The method starts at 7 when a military relationship is not established; missing disclosure is not proof that none exists.

Type: argument; confidence: medium

Scope (dimension): Earendil Works; no relationship established in reviewed sources

Research reviewed: not recorded; evidence date: not recorded

Unknowns: This bounded review cannot rule out unreported customers, indirect use, subcontracting or future work.

```json
{
  "method": "military-ties-priority-v2",
  "entity": "earendil-works",
  "company": "Earendil Works",
  "scope": "Earendil Works; no relationship established in reviewed sources",
  "components": {
    "restrictions": {
      "score": 0,
      "reason": "No public military-use restriction was found in the reviewed sources.",
      "sourceUrls": [
        "https://pi.dev/docs/latest/how-pi-works",
        "https://pi.dev/docs/latest/providers"
      ]
    },
    "oversight": {
      "score": 0,
      "reason": "No independently evidenced military-use oversight was found.",
      "sourceUrls": [
        "https://pi.dev/docs/latest/how-pi-works",
        "https://pi.dev/docs/latest/providers"
      ]
    },
    "transparency": {
      "score": 0,
      "reason": "No military customer or relationship disclosure was identified.",
      "sourceUrls": [
        "https://pi.dev/docs/latest/how-pi-works",
        "https://pi.dev/docs/latest/providers"
      ]
    }
  },
  "disclosureLimited": true,
  "relationship": "not-established",
  "relationshipReason": "No military relationship for Earendil Works was established in the reviewed sources; this is not proof that none exists.",
  "score": 7,
  "baseScore": 7,
  "safeguardPoints": 0,
  "safeguardAdjustment": 0,
  "rawScore": 7,
  "cap": null
}
```

- [Pi agent architecture and sessions](https://pi.dev/docs/latest/how-pi-works) (primary; checked 2026-10-28)

- [Pi provider documentation including Radius](https://pi.dev/docs/latest/providers) (primary; checked 2026-10-28)

## BDS targets

Finding: Not listed

Assessment: https://ethicalstack.ai/harnesses/pi/#israel-palestine

Earendil Works was not named on the two BNC campaign pages checked. This limited list check is not an endorsement.

Reason: Campaign category, excluded from numerical scoring.

Argument: The BNC selects specific company targets; Earendil Works was not named in the official priority guide or No Tech campaign when checked. This is not a nationality-based assessment or proof that the company has no other relevant relationships.

Type: argument; confidence: medium

Scope (dimension): Named BNC campaign lists checked 2026-10-28

Research reviewed: not recorded; evidence date: not recorded

Unknowns: This covers only the BNC corporate guide and No Tech page. Other BDS campaigns, local calls, ownership changes, contractors and business relationships are outside the check.

- [BNC official boycott and pressure guide](https://bdsmovement.net/Guide-to-BDS-Boycott) (primary; checked 2026-10-28)

- [BNC official No Tech campaign](https://bdsmovement.net/no-tech-oppression-apartheid-or-genocide) (primary; checked 2026-10-28)

## Reading the evidence

- Assessments are provisional editorial judgments. Cite the profile and the underlying sources, and retain confidence, scope and unknowns.

- Unknown, not-applicable and model-dependent are different states. Missing evidence does not establish good or bad conduct.

- Company-level evidence does not establish use of a particular product or model. Account plan, model, host and route can change an assessment.

- Energy scores describe documented practices and transparency, not measured request emissions. Zero component points can mean an evidence gap.

- Published overall scores require at least four of six numerical dimensions. Preserve coverage and BDS adjustments; BDS itself is categorical.

- No named BDS target found is limited to the reviewed campaign sources and is not approval. Personalized priorities do not change the published overall score.

- Review and source-check dates describe the research, not this deployment. Fetch current primary sources when the decision requires current verification.

Methodology: https://ethicalstack.ai/methodology/
