0.1.59
2025-10-31
Fixed
- Skip loading 'primary' subroutine prompt to eliminate ENOENT error in logs - the "primary" promptPath is a placeholder with no corresponding file
cyrus-simple-agent-runner package publication that broke installation of cyrus-ai@0.1.56.env files using ${VAR} and ${VAR:-default} syntax, making it easier to manage API tokens and other sensitive configuration valuesmcp__sora-tools__sora_generate_video to start video generation (supports text-to-video and image-to-video via input_reference parameter; reference images must match target video resolution and be in JPEG, PNG, or WebP format only), mcp__sora-tools__sora_check_status to poll job status, and mcp__sora-tools__sora_get_video to download completed videoscyrus-simple-agent-runner package for constrained agent queries that return one of a predefined set of responses (e.g., "yes", "no"). Features type-safe enumerated responses, comprehensive error handling, and progress tracking.mcp__image-tools__gpt_image_generate starts async image generation and returns a job ID, and mcp__image-tools__gpt_image_get checks status and downloads the image if ready (returns "not ready" if incomplete - agents can call again). Supports customizable size (1024x1024, 1536x1024, 1024x1536, auto), quality (low/medium/high/auto), background transparency, and output formats (PNG/JPEG/WebP). Uses gpt-5 model for tool invocation.soraApiKey/soraOutputDirectory to openaiApiKey/openaiOutputDirectory to reflect support for multiple OpenAI services (Sora and GPT Image). Update your repository config to use the new field names.~/.cyrus/config.json without requiring a restart@tacticlaunch/mcp-linear stdio-based server with Linear's official HTTP-based MCP server (https://mcp.linear.app/mcp). This provides better stability and access to the latest Linear API features..mcp.json files in the repository root. The .mcp.json serves as a base configuration that can be extended by explicit mcpConfigPath settings, allowing for composable MCP server configurations.appendSystemPrompt was being silently ignored, causing Cyrus to not follow custom instructions or agent guidance. The feature has been fixed to use the correct SDK API (systemPrompt.append), making custom prompts and Linear agent guidance work as intended.settingSources: ["user", "project", "local"] configuration to ClaudeRunnersonnet instead of opussonnet to haikuopus, sonnet, or haiku labels to issues to override the defaultGlobal setup script support: Added global_setup_script optional field in config.json
cyrus-setup.sh when creating git worktreesEphemeral agent activities for tool calls: Standard tool calls now post ephemeral activities to Linear
+++Tool Output collapsible blocks (collapsed by default)ephemeral: boolean support for agent activities@anthropic-ai/claude-code v1.0.128 with @anthropic-ai/claude-agent-sdk v0.1.0LINEAR_DIRECT_WEBHOOKS=true/oauth/authorize endpoint in SharedApplicationServer for self-hosted OAuth flowLINEAR_CLIENT_ID and LINEAR_CLIENT_SECRET environment variablesLINEAR_DIRECT_WEBHOOKS to control webhook client selectionLINEAR_DIRECT_WEBHOOKS=true, uses new linear-webhook-client package for direct webhook forwardingfalse, uses existing ndjson-client for proxy-based webhook handling{{assignee_id}} and {{assignee_name}}){{workspace_teams}}) with team names, keys, IDs, and descriptions{{workspace_labels}}) with label names, IDs, and descriptions assigneeId parameter in sub-issue creation@cyrus /label-based-prompt in comments to trigger label-based prompts instead of mention prompts@cyrus mentionsdisallowedTools configuration option to explicitly block specific toolsallowedTools (label > prompt defaults > repository > global)DISALLOWED_TOOLS for global defaultsdisallowedTools optionlinear_agent_session_create_on_comment for creating agent sessions on root commentscyrus-mcp-tools package providing MCP tools for Linear integrationCYRUS_DEFAULT_MODEL and CYRUS_DEFAULT_FALLBACK_MODELdefaultModel and defaultFallbackModel in ~/.cyrus/config.jsonmodel and fallbackModel fields per repository"opus" (primary) and "sonnet" (fallback)"readOnly", "safe", "all") or custom tool lists in your labelPrompts configmkdir -p commands with cross-platform Node.js mkdirSync cyrus set-customer-id commandroutingLabels configuration option allows specifying which labels should route to a specific repositorystop signal that Cyrus responds to immediately~/.cyrus/workspaces/<repo-name>cyrus add-repository - Add a new repository configuration, thanks new contributor @Maxim-Filimonov !~/.cyrus/<workspace>/attachments directorycyrus billing - Opens your Stripe portal to manage subscription, payment methods, and download invoicescyrus set-customer-id - Saves your customer ID after signup (copy-paste friendly)Cannot query field "agentContext" on type "AgentActivity". errors when interacting with Linear API by updating SDK from v52 to v54appendInstruction in repository config (~/.cyrus/config.json) - because sometimes Claude needs a gentle reminder that your variable names are art, not accidentsCYRUS_WEBHOOK_DEBUG=true environment variable - see exactly what Linear is (or isn't) sending youabortController placement in query options (was at wrong nesting level)customSystemPrompt as expected by Claude Code)appendSystemPrompt option to ClaudeRunner config for extending default system promptcyrus check-tokens command to validate all Linear OAuth tokens across repositoriescyrus refresh-token command with OAuth flow integration to renew expired tokens.edge-config.json in current directory to ~/.cyrus/config.json.edge-config.json files to the new location{repository}/workspaces to ~/.cyrus/workspaces/{repo-name}@tacticlaunch/mcp-linear server with repository's Linear tokenCYRUS_HOST_EXTERNAL environment variable to enable external server access (#78)true to listen on 0.0.0.0 (all interfaces) instead of localhostlocalhost as defaultCYRUS_WEBHOOK_BASE_URL to CYRUS_BASE_URL for clearer namingCYRUS_BASE_URL instead of CYRUS_WEBHOOK_BASE_URLCYRUS_WEBHOOK_BASE_URL is still supported for backward compatibility but deprecatedCYRUS_OAUTH_CALLBACK_BASE_URL environment variable to configure OAuth callback URL (defaults to http://localhost:3457) (#69)CYRUS_OAUTH_CALLBACK_PORT environment variable to configure OAuth callback port (defaults to 3457)--env-file=path option to load environment variables from custom fileCYRUS_BASE_URL environment variable to configure base URL for edge workers (#74)CYRUS_WEBHOOK_PORT environment variable to configure webhook port (defaults to random port 3000-3999)CYRUS_BASE_URL environment variable if using custom deployment URLs (e.g., ngrok tunnel, server domain)CYRUS_WEBHOOK_PORT=3456 environment variable to ensure consistent webhook portsecretagentsetup.sh to cyrus-setup.shInitial changelog entry
Join product teams shipping 20x faster with Cyrus.