Quick Timelog for Wrike
Log time to your own Wrike tasks from a VS Code sidebar view.
Install
npm install
npm run package # produces wrike-quick-timelog-<version>.vsix
code --install-extension wrike-quick-timelog-0.2.0.vsix
Or in VS Code: Extensions view → … menu → Install from VSIX…
Connect your account
Each person uses their own token. It is kept in VS Code secret storage, never in settings.
- In Wrike, click your profile picture → Apps & Integrations → API.
- Create a new app (any name).
- Click Create v4 token and copy it. Wrike shows it only once.
- In VS Code run Wrike: Set API Token and paste it. You should see "Connected as ".
If the token is rejected and your account is in the EU data center, set wrikeTimelog.host to app-eu.wrike.com.
Other commands: Wrike: Clear API Token, Wrike: Refresh Tasks, Wrike: Log Time, Wrike: Stop Timer.
Using it
- Type in Find a task… to pick a task (grouped as Pinned, This week, Recent and Assigned to me; arrow keys and Enter work too). The selected task stays on top with its group and workflow status; click the status to change it in Wrike.
- Under the task: Open in Wrike opens it in your browser, Add to description appends or prepends a line to its description in Wrike (pre-filled with what you typed in Description), Start timer times it.
- Enter hours and optionally a description, press Log time or Ctrl+Enter. Use branch inserts the current Git branch; Use Claude inserts the titles of your Claude Code sessions in this workspace on the selected date, e.g.
Bootstrap SCSS offset columns; Competition statistics planning.
- Hours accept
1.5, 1,5, 1:30, 90m, 1h 30m (more than 0, at most 24).
- Stop the timer from the view or by clicking it in the status bar, then choose Log, Log with description… or Discard. Cancel keeps it running. It survives VS Code restarts.
- Below the form you see your entries for the selected date (with each task's status), the day total against your daily target and the week total (Mon–Sun) against 5× that. Click ✎ to change an entry's hours or description or set its task's status, ✕ then Delete? to remove one.
- The status bar shows today's total (hover for the week). Click it to open the view.
- On weekdays at
reminderTime you get a notification if you are below the daily target.
Tasks are grouped as Pinned (your patterns), This week (tasks you logged time on this week or that are assigned to you and scheduled for this week, the same rows as Wrike's timesheet, each with the hours you logged this week), Recent (other tasks you logged time on in the last lookbackDays days) and Assigned to me (active tasks).
Patterns
wrikeTimelog.patterns is a list of task titles to pin. Placeholders are filled with the current month:
| Placeholder |
Example |
{MONTH} |
October |
{MM} |
10 |
{YYYY} |
2026 |
"wrikeTimelog.patterns": [
"Acme | Internal Ops | {MONTH} | {YYYY} | TT"
]
In October 2026 this looks up the task titled Acme | Internal Ops | October | 2026 | TT.
Settings
| Setting |
Default |
|
wrikeTimelog.host |
www.wrike.com |
app-eu.wrike.com for EU accounts |
wrikeTimelog.patterns |
[] |
Pinned task title patterns |
wrikeTimelog.lookbackDays |
14 |
Days to look back for Recent tasks |
wrikeTimelog.targetHours |
8 |
Daily target |
wrikeTimelog.reminderTime |
18:00 |
Weekday reminder if below target; empty = off |
Development
npm run dev (opens an Extension Development Host and rebuilds on save; Ctrl+R there to reload), npm run build (type-check + bundle), npm run watch, npm test (hours/pattern parsing), F5 to debug.