Skip to content

Add apify issue and apify feedback commands for humans and agents #1519

Description

@patrikbraborec

Problem

When a command fails, the CLI prints only a bare link to github.com/apify/apify-cli/issues (src/lib/command-framework/help.ts, CommandError.ts). Users and agents type the CLI version, OS, install method, and failing command by hand, and there is no way to send feedback from the terminal. Raised in #product-insights.

What we want

Two commands: apify issue opens a prefilled GitHub issue, and apify feedback sends short feedback straight to Apify, tagged as coming from a human or an agent.

Requirements

P0

  • apify issue bug|feature builds a GitHub issue URL prefilled with CLI version, OS, install method, and the failing command, and opens it in the browser.
  • --no-browser prints the URL instead, for agents and headless environments.
  • Prefill through title/body URL params, or add issue form templates to .github/ISSUE_TEMPLATE (the repo ships none) and prefill fields by ID.
  • Existing "report this issue" messages point to apify issue bug.

P1

  • apify feedback "<message>" posts to the same backend as MCP report-problem (report-problem: serve it to Claude clients and add sentiment and category apify-mcp-server#1683), with channel: cli.
  • Detect agent vs. human with src/lib/hooks/telemetry/detectEnvironment.ts, with a flag to override.
  • Works non-interactively and supports --json.
  • Bring agent detection in detectEnvironment.ts up to date (it also feeds telemetry). It checks 9 env vars today. Missing compared to Stripe and Vercel:
    • Generic conventions: AI_AGENT, AGENT (Goose, Amp, Bun)
    • Codex: CODEX_CI, CODEX_SANDBOX_NETWORK_DISABLED, CODEX_INTERNAL_ORIGINATOR_OVERRIDE
    • Claude: CLAUDE_CODE, CLAUDE_CODE_IS_COWORK (Cowork)
    • Cursor: CURSOR_TRACE_ID, CURSOR_EXTENSION_HOST_ROLE=agent-exec
    • Others: ANTIGRAVITY_AGENT, ANTIGRAVITY_CLI_ALIAS, AUGMENT_AGENT, OPENCODE_CLIENT, HERMES_AGENT, GROK_AGENT, GROK_SESSION_ID, KIRO_SESSION_ID, TERM_PROGRAM=kiro with no TTY, REPL_ID (Replit), COPILOT_MODEL, COPILOT_ALLOW_ALL, COPILOT_GITHUB_TOKEN, /opt/.devin (Devin)

P2

  • Report the agent host as well as the agent (desktop, terminal, IDE, SDK), the way Stripe's DetectAgentHost reads CLAUDE_CODE_ENTRYPOINT and CODEX_INTERNAL_ORIGINATOR_OVERRIDE.
  • --sentiment and --category, matching the MCP schema.

Open questions

  • Does apify feedback post to the Segment event MCP uses, or to a new API endpoint?
  • Require login, or accept anonymous feedback like vercel feedback and supabase feedback?
  • Keep a hand-maintained list, or depend on @vercel/detect-agent as Supabase does? It lacks AGENT, Hermes, Grok, and Kiro, so it would still need a few local additions.
  • Is CURSOR_TRACE_ID also set when a human types in Cursor's integrated terminal? Vercel treats it as an agent signal, which would then count humans as agents.

Links

Activity

  1. patrikbraborec commented on Oct 23, 2026

    @patrikbraborec
    ContributorAuthor

    Based on discussion with @DaveHanns, we should consider different name than issue as it might be confusing with Actor issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    t-buildersIssues owned by the Builders team.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions