diff --git a/cycode/cli/apps/ai_guardrails/consts.py b/cycode/cli/apps/ai_guardrails/consts.py index 837096c8..2895c8d1 100644 --- a/cycode/cli/apps/ai_guardrails/consts.py +++ b/cycode/cli/apps/ai_guardrails/consts.py @@ -118,7 +118,6 @@ def _get_claude_code_hooks_config(async_mode: bool = False) -> dict: 'hooks': { 'SessionStart': [ { - 'matcher': 'startup', 'hooks': [{'type': 'command', 'command': f'{CYCODE_SESSION_START_COMMAND} --ide claude-code'}], } ], diff --git a/cycode/cli/apps/ai_guardrails/scan/payload.py b/cycode/cli/apps/ai_guardrails/scan/payload.py index ada40a3c..d8fd4c53 100644 --- a/cycode/cli/apps/ai_guardrails/scan/payload.py +++ b/cycode/cli/apps/ai_guardrails/scan/payload.py @@ -133,6 +133,8 @@ class AIHookPayload: ide_provider: str = None # AIIDEType value (e.g., 'cursor', 'claude-code') ide_version: Optional[str] = None + source: Optional[str] = None + # Event-specific data prompt: Optional[str] = None # For prompt events file_path: Optional[str] = None # For file_read events diff --git a/cycode/cli/apps/ai_guardrails/session_start_command.py b/cycode/cli/apps/ai_guardrails/session_start_command.py index a33dc439..5218afde 100644 --- a/cycode/cli/apps/ai_guardrails/session_start_command.py +++ b/cycode/cli/apps/ai_guardrails/session_start_command.py @@ -39,6 +39,7 @@ def _build_session_payload(payload: dict, ide: str) -> AIHookPayload: model=payload.get('model'), ide_provider=AIIDEType.CLAUDE_CODE.value, ide_version=ide_version, + source=payload.get('source'), ) # Cursor diff --git a/cycode/cyclient/ai_security_manager_client.py b/cycode/cyclient/ai_security_manager_client.py index 376b549e..f4ae31db 100644 --- a/cycode/cyclient/ai_security_manager_client.py +++ b/cycode/cyclient/ai_security_manager_client.py @@ -42,6 +42,7 @@ def create_conversation(self, payload: 'AIHookPayload') -> Optional[str]: 'model': payload.model, 'ide_provider': payload.ide_provider, 'ide_version': payload.ide_version, + 'source': payload.source, } try: