# Can JetBrains Junie turn IDE screenshots into a Threads carousel of Kotlin tips?

> Source: https://tareno.co/agents/junie/threads
> Language: en
> Last reviewed: 2026-10-24
> Connect JetBrains Junie to Tareno to turn three IDE screenshots into a Threads carousel with a caption and alt text, saved as a draft you approve in Tareno.

## Connection facts

| Field | Value |
| --- | --- |
| Product surface | JetBrains Junie (junie) |
| Available connection | Custom MCP connection |
| Connection evidence | documented |
| Methods | mcp |
| Authentication | oauth |
| Setup | [Setup guide](https://tareno.co/docs/mcp) |
| Install or connect | [Open setup](https://tareno.co/docs/mcp) |
| Evidence observed | No dated observation recorded |
| Facts reviewed | 2026-10-25 |

Publication status and a working connection are separate facts. Evidence for one product surface does not establish installation or compatibility in another surface.

Agent: JetBrains Junie · Network: Threads · Hub: [JetBrains Junie and Tareno](https://tareno.co/agents/junie)

## Short answer

**Can Junie write the caption and alt text for a carousel of IDE screenshots on Threads?**

Yes, once Tareno is added in Junie's MCP settings. Junie reads the code behind your screenshots, checks the tip is correct, writes a caption within 500 characters and alt text for each image, and saves the carousel as a draft through Tareno. Tareno has not completed a client test for Junie. Approval happens in Tareno.

A tip about an IDE or a language reads best as a picture: the code before, the code after, the result. Threads supports a carousel of two to twenty images, which is exactly the shape of a three-step tip. The weak point is correctness, because a screenshot of wrong code is trusted precisely because it is a screenshot. Junie works inside the IDE, so it can check the code in the screenshot before the post exists. This page follows a Kotlin developer through a three-slide tip, with the setup steps JetBrains documents, the alt text that makes code images usable and a plain statement of the limits.

## Example: a Kotlin developer shares a scope-function tip

Imagine a developer who wants to show when to use let instead of an if-check on a nullable value. She takes three screenshots: the verbose version, the let version and a note on when not to use it. In the IDE she asks Junie to compile both snippets in a scratch file, which it does, noting that the two behave the same for her example. Junie finds the images with `list_media`, writes a 320-character caption and a sentence of alt text per slide that includes the code in words, and saves the carousel with `create_drafts` for her Threads profile.

## Step by step

1. **Open MCP Settings in the IDE.** The path is Tools, Junie, MCP Settings and then Add. A mcp.json with an mcpServers section opens, and JetBrains refers you to the server's documentation for what goes inside.
2. **Paste the hosted endpoint.** Call the entry tareno and use the address from the Remote MCP setup page. Once saved, Junie lists the server, its connection state and the tools it found.
3. **Test with a read-only call.** Ask for `list_accounts`. If your Threads profile comes back, the connection holds; if not, the profile still needs connecting inside Tareno.
4. **Verify the code in the slides.** Ask Junie to compile or run the snippets in a scratch file and confirm that the before and after behave as the tip claims. A tip that is wrong in one case is worse than no tip.
5. **Find the images and write alt text.** Junie finds the screenshots with `list_media` and writes a sentence of alt text per slide that says the code in words. Code in an image is invisible to a screen reader.
6. **Save, request and approve.** Junie writes the caption within 500 characters and saves the carousel through `create_drafts`. Give a day, a time and an IANA time zone, and approve the pending request in the Tareno dashboard.

## Prompts to copy

### Verify the snippets

```text
Compile and run the two Kotlin snippets from my screenshots in a scratch file: the if-check version and the let version. Show me the output of each, tell me whether they behave identically for a nullable String, and name one case where they do not.
```

### Check the screenshots

```text
Use Tareno to look up the files [kotlin-let-1, kotlin-let-2, kotlin-let-3] in my media library. Tell me whether they are in the right order for before, after and when not to use it, and whether any shows an IDE theme or a file name I should hide.
```

### Write caption and alt text

```text
Write a Threads caption within 500 characters for the three slides and one sentence of alt text per slide that states the visible code in words. The caption should end with a question about how readers handle nullable values.
```

### Save the carousel

```text
Use Tareno to confirm my Threads profile [handle] and save the approved caption and the three screenshots in order as a draft. Return the draft ID, and request no time until I give you the day and the time zone.
```

## Threads in Tareno

- Meta's documentation says a Threads carousel needs 2 to 20 items, so a three-slide tip is well within the format.
- Tareno's configuration allows up to 20 images in jpg, png or webp on a Threads post, and Meta allows single images as JPEG or PNG up to 8 MB.
- Threads is a network where Tareno reads replies, so Junie can group the corrections and alternatives people leave under a tip.
- Meta's documentation counts emojis by UTF-8 bytes in the 500-character limit, so keep emojis out of a technical caption or leave margin.

Official rules ([Meta: Threads API, posts](https://developers.facebook.com/docs/threads/posts), checked 2026-10-24):

- A profile is limited to 250 API-published posts within 24 hours; a carousel counts as one post.
- Text posts are limited to 500 characters, and emojis count by their UTF-8 bytes, not as single characters.
- Carousels need 2 to 20 items. Single images may be JPEG or PNG up to 8 MB, and videos MOV or MP4 up to 5 minutes and 1 GB.

## Mistakes to avoid

- Posting code you did not run. A screenshot gives wrong code an air of authority.
- Leaving alt text empty. Code in an image is unreadable without it.
- Showing project names in the file tab. Check the screenshots for details you meant to hide.
- Guessing fields in mcp.json. When no tools appear, compare the entry with the Tareno setup page.

## What does not work

- Junie cannot see what is in a screenshot, only the file names and what you tell it, so you check that the order and alt text match the images.
- It cannot post replies to corrections on Threads, since Tareno reads replies but has no tool that publishes one.
- It cannot post anything itself, since each time request stops at the approval step in the dashboard.

## Frequently asked questions

### Does Junie really support Tareno?

JetBrains documents adding MCP servers in Junie's settings, so the route exists. Tareno itself has no completed client test with Junie, which is why the first step is to confirm the server state.

### Why have Junie run the snippets first?

Because a screenshot makes code look authoritative. Junie compiles and runs both versions in a scratch file and reports where they differ, so the tip states what actually happens.

### What should the alt text contain for a code slide?

The code itself, said in words, plus what the slide shows. A person who cannot see the image cannot copy the example otherwise, and the alt text costs a sentence per slide.

### How many slides should the tip have?

Three is a good size: the problem, the fix and when not to use it. Threads allows 2 to 20 items in a carousel, but a longer carousel is better as a series of separate tips.

### Can people correct me in the replies?

They will, and that is useful. Tareno reads replies on Threads, so Junie can group corrections and alternatives for you to review. You answer in the app, because Tareno cannot post replies.

### Will the carousel appear before I say so?

No. A time request is held in Tareno as a pending action, and Threads gets the carousel only after your approval in the dashboard. Junie can tell you it is waiting, nothing more.

## Tareno tools used

- `list_accounts`
- `list_media`
- `create_drafts`

Approval model: Tareno saves drafts directly. Scheduling, publishing, edits to scheduled posts and deletions become pending actions that a person approves in the Tareno dashboard; no agent can approve them.

## Related

- [JetBrains Junie × Tareno overview](https://tareno.co/agents/junie)
- [Threads with Tareno](https://tareno.co/channels/threads)
- [Media library](https://tareno.co/features/media-library)
- [Approval workflows](https://tareno.co/features/approval-workflows)
- [Remote MCP setup](https://tareno.co/docs/mcp)
- Use case: [Publish photos and slides with image descriptions that are checked](https://tareno.co/agents/use-cases/photos-with-image-descriptions)
