* dev: PostHog config to use separate API keys for telemetry and error tracking
- Update PostHogErrorProvider to use dedicated errorTrackingApiKey
- Add comprehensive documentation and type definitions
- Support environment variables with fallback to public keys
- Improve code organization with clearer naming conventions
* changeset added
* Update GitHub Workflow
* debug
* revert debug and set process env for browser
* undefined environment variables fallback to public keys
* update workflow
* update provider factories with config validation and no-op logging
- Add PostHog config validation to determine provider type
- Replace "none" type with "no-op" for consistency
- Enhance NoOpProvider implementations with actual logging
- Update factory logic to use validated config checks
- Improve error handling and fallback behavior
* Update .github/workflows/publish.yml
Co-authored-by: Dennise Bartlett <bartlett.dc.1@gmail.com>
* Update workflow
* clean up
* update env vars in vite config
* Fix error handling recursion and update PostHog configuration
- Prevent infinite recursion in ClineError.transform() by checking for existing ClineError instances
- Use errorTrackingApiKey instead of apiKey for PostHog error provider initialization
- Replace Logger calls with console methods in NoOpErrorProvider to avoid circular dependencies
- Update dev environment detection logic to exclude CI check for more reliable configuration
* Remove console.error from unsupported error provider fallback
Remove unnecessary error logging when falling back to NoOpErrorProvider
for unsupported error provider types in ErrorProviderFactory.
* Update PostHog config to handle local and test environments
- Change dev environment detection to include local environment
- Add test environment detection for E2E and unit tests
- Disable PostHog validation in test environments to enable mocking
* add fallback back
* remove hardcoded keys
* Posthog secrets to Nightly workflow
---------
Co-authored-by: Dennise Bartlett <bartlett.dc.1@gmail.com>
* dev: extension isolation in VS Code launch configs and E2E tests
- Replace specific extension disabling with --disable-extensions flag to avoid conflicts or bugs caused by other extensions
- Add channel configuration support for stable/insiders testing
- Enhance E2E test interface with channel selection capability
- Ensure better isolation during development and testing
* Update e2e test fixtures: configure workspace settings and allow .vscode tracking
- Add workbench.secondarySideBar.defaultVisibility setting to multiroots workspace
- Remove .vscode from gitignore to allow VS Code configuration tracking
* Update nightly extension container name and e2e test setup
- Set activity bar title for nightly builds in package.json
- Remove unnecessary extension development flags from e2e tests as the test is set up to test from the vsix package it builds
* remove "--no-dependencies"
* activitybar title
* add back extensionDevelopmentPath
* Improve error handling and validation in taskHistory storage operations
- Add user-facing error message when StateManager initialization fails
- Replace empty string check with proper JSON parsing error handling in task history reading
- Add validation to ensure task history migration writes data correctly before clearing old state
* add missing return statement
* split up error check cases for write validation
* added telemetry around uexpected API responses
* feat(cline): capture real HTTP request ID (X-Request-ID) in ClineHandler via custom fetch; expose getLastRequestId(); prefer true requestId over generationId in Task telemetry for empty-assistant-message
* Delete PR_BODY_nighttrek_api_error_tracking.md
* refactor(ts): improve type safety for request ID capture and empty-assistant diagnostics
cline.ts: strongly type custom fetch override using Parameters<typeof fetch>/ReturnType<typeof fetch>; safe URL extraction for string|URL|Request; removed any casts.
task/index.ts: encapsulate requestId retrieval via getApiRequestIdSafe(); avoid any; no behavior change. Scope limited to PR 6066-related changes.
* Add multi-root workspace support to e2e diff editor tests
- Extract shared diff editor test logic into reusable function
- Add WorkspaceType interface and workspace fixture configuration
- Create test.code-workspace file for multi-root workspace testing
- Add workspace_2 fixture directory with README
- Update test helpers to support both single and multi-root workspaces
- Add dedicated test case for diff editor in multi-root workspace
* Add verbose logging control and improve workspace parameter naming in e2e tests
- Add CLINE_E2E_TESTS_VERBOSE environment variable to control mock server logging
- Replace console.log with conditional log function in ClineApiServerMock
- Rename 'workspace' parameter to 'workspaceType' for clarity
- Rename 'workspace' function parameter to 'workspacePath' for better semantics
* Add doc string
* rename
* Replace hardcoded extension identifiers with dynamic package.json values
Replace hardcoded "saoudrizwan.claude-dev" and "claude-dev" strings with
dynamically imported package name and publisher from package.json across
extension activation, webview providers, commands, and test services.
* Refactor command registration to use centralized registry
- Add new registry.ts module to centralize command name management
- Replace hardcoded command strings with registry-based command names
- Import getClineCommands function to generate consistent command identifiers
- Improve maintainability by centralizing command name definitions
* Remove Host Bridge watch service
Replace the host bridge file watch service with native JS module chokidar.
Remove the watch service and references to it.
* Remove references to watch service from host provider
* correctly set ext thinking tokens when max output set to default
-1, unset temperature on anthropic models in ext thinking mode
* fix wrong parenthesis location
Remove the extension telemetry config check from PostHogTelemetryProvider, which was looking at the wrong location which never get sets.
We should rely on setOptIn() for user preference management via UI which gets invoked when webview called the updateTelemetryState method in TelemetryService, which gets called in src/core/controller/ui/initializeWebview.ts
* Add vscode.env.onDidChangeTelemetryEnabled to the Host Bridge
Add a streaming method to the host bridge that returns a message when
the host telemetry setting is changed.
Replace uses of vscode.env.onDidChangeTelemetryEnabled with `subscribeToTelemetrySettings`.
* Apply suggestion from @ellipsis-dev[bot]
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Remove debug logs
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Binaries will be the cwd.
When tools fail with an error, log the exception to the console. This makes debugging cline-core easier.
# Conflicts:
# src/services/ripgrep/index.ts
# src/standalone/cline-core.ts
* Fix check for debug build in package-standalone script
* Support node modules that include binaries
Add support to the scripts/package-standalone.js for node modules that use platform-specific binary modules.
By default the script bundles the module for all platforms, this can be disabled with -s for single platform builds.
The module for each platform will be bundled into standalone.zip in platform specific directories:
```
binaries/linux-arm64/node_modules
binaries/darwin-x64/node_modules
binaries/win32-x64/node_modules
binaries/darwin-arm64/node_modules
binaries/linux-x64/node_modules
```
When running cline-core add the correct directory to the NODE_PATH, e.g.
```
$ export NODE_PATH=./node_modules/:./binaries/darwin-arm64/node_modules/
cline:/tmp/1$ node cline-core.js
Loading stubs...
Finished loading stubs
Loading stub impls...
Finished loading stub impls...
Cline environment: production
XS variant configuration warnings: [
'Component overrides for unused components: TOOL_USE_SECTION, TOOLS_SECTION, MCP_SECTION, TODO_SECTION, FEEDBACK_SECTION',
'Missing recommended components: TOOL_USE_SECTION'
]
[2025-09-05T19:53:00.853] #bot.cline.server.ts Running standalone cline 0.0.1
[2025-09-05T19:53:00.854] #bot.cline.server.ts Using settings dir: /Users/sjf/.cline/data
Finished loading vscode context...
[2025-09-05T19:53:00.858] #bot.cline.server.ts
Starting cline-core service...
sjfsjf created DBBBBBBBBB: Database {
name: '/tmp/db.sql',
open: true,
inTransaction: false,
readonly: false,
memory: false
}
```
* Apply suggestion from @ellipsis-dev[bot]
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Apply suggestion from @ellipsis-dev[bot]
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Support node modules that include binaries
Add support to the scripts/package-standalone.js for node modules that use platform-specific binary modules.
By default the script bundles the module for all platforms, this can be disabled with -s for single platform builds.
The module for each platform will be bundled into standalone.zip in platform specific directories:
```
binaries/linux-arm64/node_modules
binaries/darwin-x64/node_modules
binaries/win32-x64/node_modules
binaries/darwin-arm64/node_modules
binaries/linux-x64/node_modules
```
When running cline-core add the correct directory to the NODE_PATH, e.g.
```
$ export NODE_PATH=./node_modules/:./binaries/darwin-arm64/node_modules/
cline:/tmp/1$ node cline-core.js
Loading stubs...
Finished loading stubs
Loading stub impls...
Finished loading stub impls...
Cline environment: production
XS variant configuration warnings: [
'Component overrides for unused components: TOOL_USE_SECTION, TOOLS_SECTION, MCP_SECTION, TODO_SECTION, FEEDBACK_SECTION',
'Missing recommended components: TOOL_USE_SECTION'
]
[2025-09-05T19:53:00.853] #bot.cline.server.ts Running standalone cline 0.0.1
[2025-09-05T19:53:00.854] #bot.cline.server.ts Using settings dir: /Users/sjf/.cline/data
Finished loading vscode context...
[2025-09-05T19:53:00.858] #bot.cline.server.ts
Starting cline-core service...
sjfsjf created DBBBBBBBBB: Database {
name: '/tmp/db.sql',
open: true,
inTransaction: false,
readonly: false,
memory: false
}
```
* Apply suggestion from @ellipsis-dev[bot]
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Apply suggestion from @ellipsis-dev[bot]
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Apply suggestion from @ellipsis-dev[bot]
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Remove test code
* Use the correct target directory for the binaries
The directory structure that the JB host expects is does
not exactly match ${arch}-${os}
* Update package-standalone script
Warn if there is module that needs binaries, but it is not being used.
Reset the binaries dir before packaging.
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Fix styling for TelemetryBanner and SettingsView
- Replace styled-components with Tailwind classes in TelemetryBanner
- Add performance optimizations to SettingsView with memoization and debouncing
- Update Tailwind config to support new banner color variables
- Improve component structure and reduce bundle size
* use lodash
* memo content map
* Update E2E test
* add grok coder free model to cline provider (#5808)
* add free grok-coder-free model to cline provider
* add changeset
* fix typo
* checkpoints class created
* Added saveCheckpoint to Checkpoint class
* Rebased and updated for new ClineMessages
* Moved things around, started on saveCheckpoint
* implemented handler for checking and initializing the checkpointTracker if not already done
* Moved restoreCheckpoint and handleSucessfullRestore to checkpoints class
* Moved presentMultiDiff, not yet connected
* Migrated doesLatestTaskCompletionHaveNewChanges and compelted migration on presentMultifileDiff
* Better init handling
* moved fileContextTracker to new checkpoints class
* Checkpoints state management
* refactoring and cleanup in saveCheckpoint, init handler
* More saveCheckpoint refactoring
* Added sayTs return to say function for better async clineMessages updates
* Refactor checkpoint system with timestamp tracking and dependency separation
* More refactoring
* Friendship ended with checkpointTracker, checkpointManager is new best friend
* Better error handling
* checkpointTrackerErrorMessage > checkpointManagerErrorMessage
* Addressed possible race condition with message(Ts)
* Better error handling and 15s timeout changes
* Remove checkpoint delegation methods and call checkpoint manager directly
* updating checkpoints protos
* cleanup
* Restored autoApprove entry to task class
* cleanup
* cleanup
* Post-rebase fixes
* Migrated timeout and state changes from PR #5015
* Extract toolExecutor callback functions to private methods for readability
* Updated info/error messages to use HostProvider
* post rebase fixes
* Compare/diff button fix
* Fix lint errors
* Update webview-ui/src/components/chat/task-header/TaskHeader.tsx
Co-authored-by: Bee <68532117+abeatrix@users.noreply.github.com>
* Update src/integrations/checkpoints/index.ts
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* Fixed bad merge, updated focus change for compatability with new say()
* Fixed error message propagation issue
---------
Co-authored-by: pashpashpash <nik@cline.bot>
Co-authored-by: Kevin Bond <kevin@Mac.hsd1.ca.comcast.net>
Co-authored-by: Kevin Bond <kevin@Kevins-MacBook-Pro.local>
Co-authored-by: Bee <68532117+abeatrix@users.noreply.github.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
- Recognize GPT-5 IDs (including openai/gpt-5) in model family detection and variants
- Add GPT-5 (OpenAI) to integration matrix and unit tests
- Update snapshot test instructions to use npm run test:unit -- --update-snapshots
- Fix PromptBuilder: don’t early-return on missing params; init to [] to keep output consistent
- Tidy test diff formatting (braces, explicit returns)
- Polish load_mcp_documentation tool description
* adding new kimi model to groq and moonshot providers
* added fireworks provider too
* fixing fireworks test
---------
Co-authored-by: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com>
Some environments do not return a value for the vscode machine ID.
For these cases we are generating a UUID. But the UUID was not being stored, so a new one was being created everytime the extension started.
Start storing the generated ID in the global state.
I am changing the name of the key to be more descriptive, because we only want to store the generated ID. If there is an actual machine ID, we should just use that and not store it. The old key name was only ever been read, it was never written, so this will have no affect on existing users.