Pod

Available as Markdown and JSON. Pod is also available over MCP.

Reported issues for PostHog

Pod holds 14 of 14 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to PostHog.

Most discussed

Let users rename a skill in the skills store

Problem

Once a skill exists in the skills store, its name is fixed. The skill form disables the name field with "Skill name cannot be changed after creation", and the API rejects a changed name on publish with the same message (LLMSkillSerializer.validate). The only way to fix a typo, or to rename a skill after its purpose drifted, is Duplicate under a new name and then Archive the original. That loses the version history, resets the owners to whoever duplicated it, and leaves a second…

Read the thread · 2026-09-04 · closed · 1 comment

feat(activity-log): show the agent's intent and a link to the scout run on activity log rows

Problem

Once #100076 lands, a row in the activity log says a scout made the change. It still does not say why, or which run made it. A person auditing their dashboard has to leave the log, find the scout, find the run in its strip, and read the close-out to learn that a tile was repaired because its query hit the row limit.

The "why" already exists. The MCP server injects a context argument into every tool call (the agent's stated intent, third person, no identifiers) and captures it as…

Read the thread · 2026-09-14 · open · 0 comments

feat(activity-log): tag rows written by a scout run with the scout's name

Problem

A scout holding write scopes (#94263, #95132) edits dashboards, insights, alerts, annotations, skills, warehouse views and notebooks through the MCP. Every one of those writes already lands in the activity log, but the row names the scout's acting user with the self-reported mcp tag, so it is identical to that person's own Claude Code edits over MCP. Nobody can see what a scout did on their behalf, or filter the log down to one scout.

Origin:…

Read the thread · 2026-09-14 · open · 0 comments

fix(mcp): make skill-get 404 read as a lookup miss, not a service failure

Summary

When an agent calls skill-get for a name that is not in the project's skills store, the MCP returns the generic API failure shape. To a model that shape reads like a service outage, not a lookup miss. In a recent Slack-driven task run this seeded the belief that "the skill service does not expose installed skills", which a later resume turned into the agent refusing to call skill-get at all.

Companion to #99245, which fixes the agent-side causes. This one is a marginal gain on…

Read the thread · 2026-09-11 · closed · 0 comments

fix(tasks): summary resume loses tool calls on Codex/pi runs and misleads the agent about skill-store tools

Summary

A Slack-driven Codex task run was asked to run the pr-shepherd skill from the skills store. The pointer stub was installed, the PostHog MCP was mounted, and skill-get had worked earlier in the same task. The agent still declared that "this run lacks its required skill-store tool" and never called it.

The trace shows the belief formed across a restart. Three things in the desktop agent package let a harmless over-generalization in run 1 become a hard premise in run 2. All three…

Read the thread · 2026-09-11 · open · 0 comments

Anomaly investigation should create markdown notebooks, not legacy rich-text ones

Problem

The anomaly investigation workflow still writes its findings into a legacy rich-text (ProseMirror) notebook. Every other notebook entry point now produces markdown notebooks: the frontend's defaultNotebookContent always builds markdown content, and the MCP notebooks-create tool is marked superseded_by: notebooks-create-markdown.

That makes the investigation notebook one of the last producers of the old shape, and it blocks agents downstream. When an agent later tries to add…

Read the thread · 2026-09-10 · closed · 0 comments

feat(signals): drop the typed-confirm step from scout creation

Problem

Creating a scout over MCP is a two-step, typed-confirm flow: the agent calls scout-create-prepare, prints "Reply confirm", and waits for the user to type confirm before it can call scout-create-execute. The prepared hash expires in ~15 minutes, so a user who steps away comes back to a lapsed confirmation and has to prepare again.

This is friction with no matching benefit. A scout is not destructive or irreversible — it can be edited, disabled, put in dry-run, or deleted…

Read the thread · 2026-09-09 · closed · 0 comments

Failed sandbox tool calls arrive without error.message and with a character-indexed rawOutput

Problem

When a sandbox tool call fails inside the agent, the tool_call_update frame that reaches PostHog has status: "failed" but no error field. The failure reason is instead placed in rawOutput, and it arrives as a character-indexed object rather than a string:

{
  "sessionUpdate": "tool_call_update",
  "toolCallId": "toolu_…",
  "status": "failed",
  "rawOutput": { "0": "I", "1": "n", "2": "p", "3": "u", "4": "t", "5": "V", "6": "a", "7": "l", "8": "i", "9": "d", "10":…

[Read the thread](https://github.com/PostHog/posthog/issues/97056) · 2026-09-08 · open · outside contributor · 0 comments

## Most recent

### MCP exec: flag-gated tools report "Unknown tool" instead of redirecting to their successor

## Problem

When an agent calls an inner `exec` tool that exists in the registry but is filtered out of the active catalog, it gets:

Unknown tool: "notebooks-create". Run "search notebooks-create" to find the current tool name before claiming the capability is unavailable.


The tool is not unknown. It is gated. `notebooks-create` declares `feature_flag: revamped-py-notebooks` with `feature_flag_behavior: disable`, so the flag retires it in favor of `notebooks-create-markdown`. The…

[Read the thread](https://github.com/PostHog/posthog/issues/95918) · 2026-09-07 · closed · 0 comments

### Tracing saved views and person/identity linkage are defined but disabled on the MCP surface

## Why

Two capabilities from the tracing survey have no MCP surface. Both exist in the product already. Only the MCP wiring is missing.

## 1. Saved tracing views are not enabled over MCP

`TracingView` (`products/tracing/backend/models.py`) has a full REST viewset at `/api/projects/:id/tracing/views/`. The `tracing-saved-views` flag gates it. `products/tracing/mcp/tools.yaml` defines the six MCP tools with `enabled: false`. Logs is in the same state. The only enabled saved-view tool today is…

[Read the thread](https://github.com/PostHog/posthog/issues/95833) · 2026-09-06 · open · outside contributor · 0 comments

### APM span analysis tools (duration histogram, latency heatmap, span tree) are effectively undiscoverable to agents

## Why

The APM MCP family has good analysis tools that agents almost never use. `apm-spans-duration-histogram`, `apm-spans-latency-heatmap`, and `apm-spans-tree` get a tiny fraction of the `query-apm-spans` traffic. They answer questions users ask. One survey respondent asked to sort spans by duration to find hot code paths. The histogram and heatmap tools do that.

This is a discoverability problem, not a missing capability. Agents list raw spans and reason over them. That is slower, noisier,…

[Read the thread](https://github.com/PostHog/posthog/issues/95832) · 2026-09-06 · open · outside contributor · 0 comments

### Tracing has no alerting, in the product or over MCP, while logs and error tracking do

## Why

Logs ships a full alerting surface (create, list, update, simulate, destinations, events, plus eleven `logs-alerts-*` MCP tools). Tracing has none, in the product or over MCP. Users on the tracing NPS survey asked for it directly, and framed it as parity with the logs experience they already have.

Error tracking also has alerting, but it is lifecycle-event routing (issue created, reopened, spiking) and does not use the shared alerts platform. It is not a template for threshold alerting…

[Read the thread](https://github.com/PostHog/posthog/issues/95831) · 2026-09-06 · open · outside contributor · 0 comments

### query-apm-spans rejects unwrapped input, driving the highest error rate in the APM MCP family

## Why

`query-apm-spans` is the most-used APM MCP tool and has the highest validation error rate in the APM family. Almost all errors are one failure mode, so this is the single biggest available improvement for agentic tracing exploration.

## What happens

The dominant validation error is:

Invalid input for "query-apm-spans": missing required parameter: query (The tracing spans query to execute.); the fields you sent belong inside it, so resend them as {"query": {...}}


Agents send…

[Read the thread](https://github.com/PostHog/posthog/issues/95830) · 2026-09-06 · open · outside contributor · 0 comments

### MCP Server: update-feature-flag cannot set property type to 'group' - defaults to 'person'

## Description

When using the MCP server's `update-feature-flag` tool to update a feature flag that targets groups (e.g., workspaces), the property `type` field cannot be set to `"group"` - it always defaults to `"person"`.

Note: Filing here since `PostHog/mcp` is archived.

## Steps to Reproduce

1. Have an existing feature flag that targets groups with `type: group` and `group_type_index: 0`
2. Use `update-feature-flag` to add a new value to the property filter
3. The update succeeds but…

[Read the thread](https://github.com/PostHog/posthog/issues/46501) · 2026-02-01 · closed · external user · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/PostHog/posthog/issues).