클로드 코드에서 훅을 사용하여 클로드의 시간 환각 문제 해결하기

레딧 사용자가 Claude Code의 특정 문제를 파악하고 해결했는데, AI 어시스턴트가 실시간 시계 접근 권한 부족으로 인해 잘못된 시간 기반 제안을 하는 문제였습니다.
문제점
Claude는 실시간 시계에 접근할 수 없습니다. 세션 시작 시 오늘 날짜는 받지만 현재 시간은 받지 않습니다. 이로 인해 Claude가 시간을 추측하게 되는데 종종 틀리게 되어 실제로는 정오인데도 '늦었으니 좀 쉬세요'와 같은 부적절한 제안을 하게 됩니다. 이 해결책은 Claude Code에서만 작동하며 웹이나 데스크톱 버전에서는 작동하지 않습니다.
해결책
해결책은 Claude Code 설정 파일에 단일 훅을 추가하는 것입니다:
- ~/.claude/settings.json 파일을 열거나 생성합니다(또는 Claude Code에게 이 작업을 요청합니다)
- 다음 구성을 붙여넣습니다:
{
"hooks": {
"UserPromptSubmit": [
{
"matcher": "",
"hooks": [
{
"type": "command",
"command": "echo \"Current time: $(date '+%A %Y-%m-%d %I:%M %p %Z')\""
}
]
}
]
}
}이 해결책은 재시작 없이 즉시 작동합니다.
작동 방식
메시지를 보낼 때마다 훅이 date 명령을 실행하고 출력을 Claude의 컨텍스트에 배경에서 주입합니다. 사용자는 이 출력을 보지 못하지만 Claude는 "Current time: Monday 2026-04-06 03:39 AM EDT"와 같은 내용을 보게 됩니다. 훅이 모든 메시지에서 실행되기 때문에 Claude는 메시지 간 시간 차이를 관찰하여 사용자가 자리를 비웠다가 돌아온 시점도 감지할 수 있습니다.
이 접근 방식은 Claude Code의 훅 기능을 활용합니다 - UserPromptSubmit과 같은 특정 이벤트에서 자동으로 실행되는 셸 명령입니다.
📖 전체 소스 읽기: r/ClaudeAI
👀 See Also

모든 개발자가 알아야 할 20가지 Claude Code 명령어
Reddit 게시물이 Claude Code의 20가지 명령어를 나열합니다: 태스크 중지, 컨텍스트 관리, 브랜칭, 원격 제어, /compact, /branch, /simplify 같은 생산성 단축키.

Claude Code의 1M 컨텍스트 창을 비활성화하여 토큰 사용량을 줄이는 방법
Anthropic 사용자는 settings.json에 환경 변수를 추가하여 Claude Code의 100만 컨텍스트 창을 비활성화할 수 있으며, 이로 인해 예상치 못한 토큰 소비를 줄일 수 있습니다. 출처는 두 가지 구성 옵션을 제공합니다: 100만 컨텍스트를 완전히 비활성화하거나 자동 압축 창을 제한하는 방법입니다.

주석 기반 UI: Figma에서 템플릿을 디자인하고 Claude가 좌표를 추출하도록 하는 방법
커스텀 레이아웃 엔진을 직접 개발하지 마세요: Figma에서 플랫 PNG를 디자인하고, 슬롯용으로 색칠된 사각형을 그린 후, 둘 다 Claude에 넣으면 탭 대상이 있는 편집 가능한 영역 정의를 얻을 수 있습니다. 몇 주 대신 오후 하나면 됩니다.

완벽한 프롬프트 작성보다 AI 대화 구성하기
한 개발자가 r/ClaudeAI에서 완벽한 프롬프트 문장에 집착하는 대신 Claude AI와의 대화를 상황으로 구성하는 방법으로 전환하여 훨씬 더 나은 결과물을 얻었다고 설명합니다.