Skip to content

[Bug]: confluence_update_page_section silently resets page width from max to fixed-width #1547

Description

@eeichinger

Prerequisites

  • I have searched the existing issues to make sure this bug has not already been reported.
  • I have checked the README for relevant information.

Bug Description

confluence_update_page_section changes the page's display width as a side effect. Both content-appearance-published and content-appearance-draft are rewritten from max to fixed-width, even when no width-related argument is passed.

The tool's own description states that it leaves everything outside the target section "completely intact", and it exposes no parameter to control or preserve width, so there is no way to opt out.

On a full-width page (wide tables, column layouts) this visibly narrows the layout. It is easy to miss, because the section content itself updates correctly and no error is raised.

I believe #1183 already fixes this ("Preserve custom page width on update unless the caller explicitly overrides it"), but that PR is currently conflicted, and I could not find an open issue tracking the behaviour — so filing one for discoverability.

Steps to Reproduce

  1. Create a Confluence Cloud page via the REST API without specifying any width — e.g. POST /wiki/rest/api/content with a storage body containing an <h1>Editable Section</h1> heading followed by a paragraph.

  2. Confirm both width properties are at the default:

    GET /wiki/rest/api/content/<id>/property/content-appearance-published   ->  max, version 1
    GET /wiki/rest/api/content/<id>/property/content-appearance-draft       ->  max, version 1
    
  3. Call the tool, passing no width-related argument:

    confluence_update_page_section(
        page_id="<id>",
        heading_text="Editable Section",
        new_content="replacement text",
        content_format="markdown",
    )
    
  4. Re-read both properties.

Expected Behavior

Both content-appearance-published and content-appearance-draft remain at max. A section-scoped edit should not alter page-level display settings, consistent with the tool's documented promise to leave content outside the target section intact.

Actual Behavior

content-appearance-published : max (v1)  ->  fixed-width (v2)
content-appearance-draft     : max (v1)  ->  fixed-width (v2)

# The section edit itself is correct, and macros elsewhere on the page are preserved.
# No error is reported. The tool response includes:  "page_width": "fixed-width"

# Control: editing and saving the same page in the Confluence web editor left both
# properties untouched at max (v1) — so this is not the Confluence save path.

mcp-atlassian Version

0.23.0

Installation Method

From PyPI (pip install mcp-atlassian / uv add mcp-atlassian)

Operating System

macOS

Python Version

3.14.4

Atlassian Instance Type

Confluence Cloud

Client Application

Claude Code (stdio, uvx mcp-atlassian --env-file ...)

Additional Context

Auth: Basic (CONFLUENCE_USERNAME + CONFLUENCE_API_TOKEN), Confluence Cloud.

Workaround, in case it helps others: after each confluence_update_page_section call, restore both properties with a REST PUT. That does not create a new page version, so it leaves no extra entry in page history.

Possibly related: #1183 (open PR that appears to fix this), #1167, #1255.

Thanks for maintaining this — the section-scoped update is genuinely valuable for macro-heavy pages, because it keeps macro markup out of the LLM's output entirely, which is where the corruption usually originates.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions